In ActionScript 3.0 müssen Sie addEventListener() auf jeden Fall abzufangen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | / ** * Bei einem MovieClip mc, setzen Sie Ereignisse und Handler * / ( MouseEvent . CLICK , on_click ) ; . mc addEventListener ( MouseEvent CLICK, 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.); / ** * Funktionen hander für die oben genannten Ereignisse * / e : MouseEvent ) : void { on_click Funktion (e: MouseEvent ): void { / / Klicken Sie auf } e : MouseEvent ) : void { on_roll_over Funktion (e: MouseEvent ): void { / / Über Roll- } e : MouseEvent ) : void { on_roll_out Funktion (e: MouseEvent ): void { / / Roll-out } |
Alternativ können Sie das Formular:
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 CLICK, 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.); / ** * Erstelle ich eine einzelne Funktion, um alle Ereignisse zu verarbeiten * / e : MouseEvent ) : void { on_handler Funktion (e: MouseEvent ): void { e . type ) { Schalter (and. type) { . CLICK : Häuser MouseEvent . KLICK: / / Klicken Sie auf break; . ROLL_OVER : Häuser MouseEvent . ROLL_OVER: / / Über Roll- break; . ROLL_OUT : Häuser MouseEvent ROLL_OUT.: / / Roll-out break; } } |










[...] Sehr kurze Trick: addEventListener () AS3 ein Handler mehr Veranstaltungen in Actionscript 3.0 Sie die addEventListener () verwenden, müssen für alle abzufangen [...]
Hallo, ich mag wie du verbessert, aber ich dich etwas fragen, wenn ich mehr als ein MovieClip mc, Typ hatte: MC1, MC2 ... .. (zum Beispiel die Tasten in einem Menü werden konnten), wie man sie managen Dank?
@ Robert:
, in questo caso
MouseEvent. In der Funktionon_handlerkönnen Sie das Objekt vom Typ beziehenEvent, in diesem FallMouseEvent. Dieses Objekt in der Tat, können Sie Informationen über das Objekt, das die Veranstaltung erhalten haben. Wenn Sie dies versuchen:2
3
4
e . target . name ) ; trace (and. Ziel zu nennen.);
/ / ...
}
) ti permetterà di sapere quale MovieClip hai selezionato. Das Anwesen
target(odercurrentTarget) teilt Ihnen mit, dass Sie MovieClip ausgewählt.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. In der Dokumentation wird im Detail von
target, dasscurrentTarget, dass, obwohl auf den ersten Blick zu sein scheinen ziemlich identisch, in einigen Fällen (siehe Buttons mit komplexeren verschachtelten MovieClips gebaut) kann Ihnen die richtigen Informationen, die Sie suchen.@ Giovambattista Fazioli: Ich gehe schauen ...:) ... nice ... wenn ich erneut ..:)
@ 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 Funktion (e: MouseEvent ) {
e . type ) { Schalter (and. type) {
. MOUSE_OVER : Häuser MouseEvent . MOUSE_OVER:
e . currentTarget . name ) ; //funziona, visualizza "btn1_mc" ossia il nome dell'istanza del primo pulsante trace (and. currentTarget. name) / / funktioniert, zeigt es "btn1_mc" oder den Namen des ersten Button
( 2 ) ; . btn1_mc gotoAndPlay (2);
break;
. MOUSE_OUT : Häuser MouseEvent MOUSE_OUT.:
( 16 ) ; . btn1_mc gotoAndPlay (16);
break;
}
}
Dann
funktioniert, aber wie kann ich auf Bildung nächste Sequenz anhängen? an Stelle von
@ Robert: Es ist sehr einfach:
e.targetist ein Zeiger auf die Instanz der MovieClip, dann benutzen Sie einfach:In der Praxis
btn1_mcoder eine andere Instanz, entsprichte.target@ Giovambattista Fazioli: Naja was ich sagen soll, habe ich versucht, mit Aussenseiter gut
[Cc_actionscript3] (e.currentTarget.name). GotoAndPlay (2) [\ as] ... weg ... Und so getroffen Namen der Klammern und Funktion ... so ... .. DANKE ....:)
@ Robert: Ich würde zu schließen, wenn jemand versucht, Informationen über die in den Fall mit mehr Kubikmeter (zB Buttons), mit einem Array und einem Klick können Sie Gruppe, und weisen verschiedene mc "addEventListener" es :
2
3
4
5
. addEventListener ( MouseEvent . CLICK , on_handler ) ; btn_array [i] addEventListener (. MouseEvent CLICK, 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.);
}
... .. Hallo und ich hoffe, nützlich zu sein, jemand anderes ....:)
@ Roberto: excellent! Auch wenn schließlich die Reihe der "Knöpfe" (MovieClip) in einem Container MovieClip platziert sind, können Sie sogar zu vermeiden das Array und Schleife über alle "Kinder" des Containers. In diesem Zusammenhang schlage ich vor, Sie lesen Alles, was Sie zu tun mit Actionscript 3
Grüße und Dank für Ihre Beiträge