Bonjour,
J'ai un problème lié aux évènement en AS3. Dans une méthode d'une classe (decoupe) qui est "exends" de MaterialObject3D, je génère un évènement avec dispatchEvent :
Enssuite, je cherche à capturer l'évènement depuis une méthode d'une autre classe (avatar) qui "extends" de DisplayObject3D:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function maFonction() { var evenement:DecoupeEvent=new DecoupeEvent(DecoupeEvent.FIN_CHARGEMENT); // la classe DecoupeEvent est importé cf un peut plus loin var Dispatcheur:EventDispatcher= new EventDispatcher(); if (Dispatcheur.dispatchEvent(evenement)) { trace("Evènement généré"); // ce trace s'affiche => l'évenement est généré } }
Voici ma classe DecoupeEvent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function Avatar(type:String) { aDecouper=new Decoupe("textures/chien.png"); // objet permettant la découpe aDecouper.addEventListener(DecoupeEvent.FIN_CHARGEMENT, chargementOK); } private function chargementOK(ev:DecoupeEvent) { trace("chargement OK!!!!"); // ce trace ne s'affiche pas // donc l'évènement n'est pas capturer }
Je ne comprends pas pourquoi je n'arrive pas à capturer cet évènement. Pouriez-vous m'aider s'il vous plaît ? Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package classes{ import flash.events.Event; public class DecoupeEvent extends Event { // evènement public static const FIN_CHARGEMENT:String="fin_chargement"; public function DecoupeEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false){ super(type, bubbles, cancelable); } public override function clone():Event { return new DecoupeEvent(type); } } }
Partager