Dans ActionScript 3.0, vous devez utiliser addEventListener() pour intercepter tous les cas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | / ** * Etant donné un mc MovieClip, vous définissez les événements et les gestionnaires * / ( MouseEvent . CLICK , on_click ) ; . mc addEventListener ( MouseEvent CLIQUEZ, on_click.); ( MouseEvent . ROLL_OVER , on_roll_over ) ; . mc addEventListener ( MouseEvent ROLL_OVER, on_roll_over.); ( MouseEvent . ROLL_OUT , on_roll_out ) ; . mc addEventListener ( MouseEvent ROLL_OUT, on_roll_out.); / ** * Fonctions droitier pour les événements ci-dessus * / e : MouseEvent ) : void { on_click function (e: MouseEvent ): void { / / Cliquez } e : MouseEvent ) : void { on_roll_over function (e: MouseEvent ): void { / / Roll over } e : MouseEvent ) : void { on_roll_out function (e: MouseEvent ): void { / / Roll-out } |
Sinon, vous pouvez utiliser le formulaire:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ( MouseEvent . CLICK , on_handler ) ; . mc addEventListener ( MouseEvent CLIQUEZ, on_handler.); ( MouseEvent . ROLL_OVER , on_handler ) ; . mc addEventListener ( MouseEvent ROLL_OVER, on_handler.); ( MouseEvent . ROLL_OUT , on_handler ) ; . mc addEventListener ( MouseEvent ROLL_OUT, on_handler.); / ** * Je crée une fonction unique pour gérer tous les événements * / e : MouseEvent ) : void { on_handler function (e: MouseEvent ): void { e . type ) { switch (type et.) { . CLICK : maisons MouseEvent . CLIQUEZ: / / Cliquez break; . ROLL_OVER : maisons MouseEvent . ROLL_OVER: / / Roll over break; . ROLL_OUT : maisons MouseEvent ROLL_OUT.: / / Roll-out break; } } |










[...] Truc très court: addEventListener () AS3, un gestionnaire d'événements plus dans ActionScript 3.0, vous devez utiliser la méthode addEventListener () pour intercepter tout [...]
Bonjour, j'aime la façon dont vous avez amélioré, mais je vous demander quelque chose, si je n'avais plus d'un MovieClip mc, tapez: MC1, MC2 ... .. (peut être par exemple les boutons sur un menu), comment les gérer Merci?
@ Robert:
, in questo caso
MouseEvent. Dans la fonctionon_handlervous pouvez vous référer à l'objet du typeEvent, dans ce casMouseEvent. Cet objet, en fait, vous permet d'avoir des informations sur l'objet qui a reçu l'événement. Si vous essayez ceci:2
3
4
e . target . name ) ; trace (et. cibles nom.);
/ / ...
}
) ti permetterà di sapere quale MovieClip hai selezionato. La propriété
target(oucurrentTarget) vous permettra de savoir que vous avez sélectionné MovieClip.che, anche se a prima vista sembrano del tutto identici, in alcuni casi (vedi bottoni complessi costruiti con più MovieClip annidati) possono darti la corretta informazione che cerchi. Consultez la documentation est dans le détail de
targetquecurrentTargetque bien que, à première vue semblent être tout à fait identique, dans certains cas (voir les boutons construit avec plus complexes MovieClips imbriqués) peut vous donner les informations correctes que vous recherchez.@ Giovambattista Fazioli: Je vais aller chercher ...:) ... sympa ... si je resoumettre ..:)
@ Giovambattista Fazioli:
2
3
4
5
6
7
8
9
10
11
12
13
14
( MouseEvent . MOUSE_OUT , on_handler ) ; . btn1_mc addEventListener ( MouseEvent MOUSE_OUT, on_handler.);
e : MouseEvent ) { on_handler function (e: MouseEvent ) {
e . type ) { switch (type et.) {
. MOUSE_OVER : maisons MouseEvent . MOUSE_OVER:
e . currentTarget . name ) ; //funziona, visualizza "btn1_mc" ossia il nome dell'istanza del primo pulsante trace (et. currentTarget. nom) / / fonctionne, il affiche «btn1_mc" ou le nom du premier bouton
( 2 ) ; . btn1_mc gotoAndPlay (2);
break;
. MOUSE_OUT : maisons MouseEvent MOUSE_OUT.:
( 16 ) ; . btn1_mc gotoAndPlay (16);
break;
}
}
Puis
fonctionne, mais comment puis-je joindre à la séquence d'enseignement prochaine? à la place de
@ Robert: Il est très simple:
e.targetest un pointeur sur l'instance du MovieClip, alors utilisez simplement:En pratique
btn1_mc, ou toute autre instance, correspond àe.target@ Giovambattista Fazioli: Eh bien quoi dire, j'ai essayé d'être bon avec Geek
[Cc_actionscript3] (e.currentTarget.name). GotoAndPlay (2) [\ que] ... enlevé ... Et donc le nom de l'parenthèses, et la fonction ... alors ... .. MERCI ....:)
@ Robert: Je voudrais conclure, si quelqu'un a essayé de d'info à ce sujet dans le cas avec plus de mètres cubes (boutons, par exemple), avec un tableau et un clic, vous pouvez affecter différents groupes et mc "addEventListener" es :
2
3
4
5
. addEventListener ( MouseEvent . CLICK , on_handler ) ; btn_array [i] addEventListener (. MouseEvent CLIQUEZ, on_handler.);
. addEventListener ( MouseEvent . MOUSE_OVER , on_handler ) ; btn_array [i] addEventListener (. MouseEvent MOUSE_OVER, on_handler.);
. addEventListener ( MouseEvent . MOUSE_OUT , on_handler ) ; btn_array [i] addEventListener (. MouseEvent MOUSE_OUT, on_handler.);
}
... .. Bonjour et j'espère être utile à quelqu'un d'autre ....:)
@ Roberto: excellent! Aussi, enfin, si la série des "boutons" (MovieClip) sont placés dans un conteneur de MovieClip, vous pouvez même éviter le tableau et on boucle sur toutes les "enfants" du conteneur. À cet égard, je vous suggère de lire Tout ce que vous avez toujours voulu faire avec Actionscript 3
Salutations et merci pour vos contributions