Schließlich mit ActionScript 3.0 nicht mehr zwei verschiedene Management von Veranstaltungen, wie sie es vor ActionScript 2.0 (siehe: Event-Management: Ähnlichkeiten zwischen Flash und Javascript ). Die Methode addEventListener() , ubiquitär in der neuen Architektur ermöglicht die Verwaltung neu und außergewöhnlich sauber, alle möglichen Ereignisse, auch persönliche. Die neue Organisation in der Verpackung können Sie die Ereignisse, die wir bedienen und alle gleich behandelt zu importieren:
1 2 3 4 | / / Events . KeyboardEvent ; import flash.events. KeyboardEvent ; . MouseEvent ; import flash.events. MouseEvent ; . Event ; import flash.events. Ereignis ; |
Die Unterschiede zwischen der Verwaltung der Ereignisse sind so scomprase. . Ein MovieClip nicht mehr über die Pseudo-Ereignis Eigenschaften wie onRelease oder onEnterFrame . Die klassische Rollover, zum Beispiel wird:
1 2 3 4 5 | ( MouseEvent . ROLL_OVER , listener ) ; . mio_mc addEventListener ( MouseEvent ROLL_OVER, Zuhörer.); ... e : MouseEvent ) : void { Listener-Funktion (e: MouseEvent ): void { ... } |
Die Lösung vorgeschlagen in flash: wie man die Komponenten in der Konstruktor einer Klasse initialisiert werden , zum Beispiel, ist in ActionScript 3.0 Ergebnisse wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 | . Event ; import flash.events. Ereignis ; MiaClasse extends MovieClip { public class MyClass extends MovieClip { function MyClass () { Event . ADDED_TO_STAGE , _init ) ; addEventListener ( Ereignis . ADDED_TO_STAGE, _init); } / / _init ( e : Event ) : void { private function _init (e: Event- ): void { ... } } |
Das Management der Tastatur in einer TextFiled ist:
1 2 3 4 5 6 7 8 9 | . KeyboardEvent ; import flash.events. KeyboardEvent ; ... ( KeyboardEvent . KEY_DOWN , _onKeyDown ) ; . text_txt addEventListener ( KeyboardEvent KEY_DOWN, _onKeyDown.); e : KeyboardEvent ) : void { _onKeyDown Funktion (e: KeyboardEvent ): void { e . keyCode == 13 ) { if (E. keyCode == 13) { ... } } |
Dieses neue Event-Management, neue ActionScript, aber bekannt, dass diejenigen, die in JavaScript, zum Beispiel (auf ECMAScript 4), spiegelt sich auch in ihren Verwaltungs-und Event-Produktion widerspiegelt. , e vogliamo fare in modo che quando viene premuto in tasto {INVIO} durante la digitazione viene rilasciato un nostro personale evento. Stellen Sie sich vor Sie eine Klasse erstellen TextFieldExt , eine Erweiterung des klassischen TextField , und wir wollen sicherstellen, dass, wenn Taste gedrückt wird {INVIO} losgelassen wird bei der Eingabe von unserer persönlichen Event. a bordo che chiamiamo text_txt . Zunächst bauen unsere MovieClip mit einem TextField an Bord nennen wir text_txt . Wie bereits associaciamo einen Zuhörer für dieses Steuerelement zu sehen und wir erzeugen unsere eigenen persönlichen Ereignisses auf einfache Weise:
1 2 3 4 5 6 7 8 9 10 | . KeyboardEvent ; import flash.events. KeyboardEvent ; ... ( KeyboardEvent . KEY_DOWN , _onKeyDown ) ; . text_txt addEventListener ( KeyboardEvent KEY_DOWN, _onKeyDown.); e : KeyboardEvent ) : void { _onKeyDown Funktion (e: KeyboardEvent ): void { e . keyCode == 13 ) { if (E. keyCode == 13) { Event = new Event ( "RETURN" ) ; var mich: Termin = new Termin ("return"); dispatchEvent ( me ) ; . dies dispatchEvent (mir); } } |
Wann werden wir in unseren Instanz verwenden TextFieldExt könnten wir schreiben:
1 2 3 4 5 |
. Wo myTextFieldExt ist eine Instanz unserer Klasse TextFieldExt . Last, not least, wie im Leitfaden für die interne Flash CS3 angegeben, können Sie natürlich auch benutzerdefinierte Ereignisse wie Klassen, dh unsere Klassen, die Klasse zu erweitern Event , dann eine weitere gründliche und detaillierte. Da die Klasse Alarm in der Führung vorgeschlagen ... aber wir werden sehen, diese wieder
.










[...] "Uniform", wie es mit den Ereignissen passiert ist (siehe die neue Event-Handling in Flash CS3 und Flash CS3: Das neue Event-Handling), einer der vielen neuen Funktionen in ActionScript 3.0 ist das Verschwinden all jener Ad-hoc-Methoden [...]