Custom Event - DispatchEvent
Bonjour,
J'en suis à mes premiers tests avec AS3. J'essaie de créer un évènement personnalisé. Avec le code ci-après, je m'attendrais à voir les 2 traces des fonctions listener. Je vois la trace du OnKeyDown mais le DispatchEvent ne fonctionne pas et OnCustomRequest_Info n'est jamais exécuté. J'imagine que ce n'est pas ainsi qu'il faut créer une classe évènement... Quelqu'un peut m'orienter svp? Merci beaucoup!
Dans main.as, function init(), après le EntryPoint:
Code:
1 2 3
|
stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown_RequestCreer);
stage.addEventListener(CustomEvent.REQUEST, OnCustomRequest_Info); |
et les fonctions listener:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
private function OnKeyDown_RequestCreer(event:KeyboardEvent):void
{
trace("Main.OnKeyDown -> Touche clavier! Une demande a été faite!");
dispatchEvent(new CustomEvent(CustomEvent.REQUEST) );
}
private function OnCustomRequest_Info(event:CustomEvent):void
{
trace("Main.OnRequest -> Je réalise la demande!");
} |
Finalement la classe CustomEvent. C'est le code automatique de FlashDevelop quand on crée un nouvel Event. J'ai ajouté la constante statique REQUEST.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
package
{
import flash.events.Event;
public class CustomEvent extends Event
{
public static const REQUEST:String = "Creer";
public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
public override function clone():Event
{
return new CustomEvent(type, bubbles, cancelable);
}
public override function toString():String
{
return formatToString("EventCreer", "type", "bubbles", "cancelable", "eventPhase");
}
}
} |