Enfin avec ActionScript 3.0 ne sont plus deux de gestion différents des événements comme ils le faisaient avant ActionScript 2.0 (voir: la gestion de l'événement: les similitudes entre Flash et Javascript ). La méthode addEventListener() , omniprésents dans la nouvelle architecture permet de gérer de nouveaux et exceptionnellement propre tous les événements possibles, même celles personnelles. La nouvelle organisation dans le forfait vous permet d'importer les événements que nous servons et de traiter tous de manière égale:
1 2 3 4 | / / Événements . KeyboardEvent ; flash.events importation. KeyboardEvent ; . MouseEvent ; flash.events importation. MouseEvent ; . Event ; flash.events importation. Event ; |
Les différences entre la gestion des événements sont si scomprase. . Un MovieClip n'a plus les propriétés de pseudo-événement comme onRelease ou onEnterFrame . Le roulement classique, par exemple, devient:
1 2 3 4 5 | ( MouseEvent . ROLL_OVER , listener ) ; . mio_mc addEventListener ( MouseEvent ROLL_OVER, auditeur.); ... e : MouseEvent ) : void { fonction d'écouteur (e: MouseEvent ): void { ... } |
La solution proposée dans Flash: comment initialiser des composants dans le constructeur d'une classe , par exemple, les résultats dans ActionScript 3.0 est comme suit:
1 2 3 4 5 6 7 8 9 10 11 12 | . Event ; flash.events importation. Event ; MiaClasse extends MovieClip { public class MyClass étend MovieClip { function MaClasse () { Event . ADDED_TO_STAGE , _init ) ; addEventListener ( Event . ADDED_TO_STAGE, _init); } / / _init ( e : Event ) : void { _init fonction privée (e: Event ): void { ... } } |
La gestion du clavier dans un TextFiled est:
1 2 3 4 5 6 7 8 9 | . KeyboardEvent ; flash.events importation. KeyboardEvent ; ... ( KeyboardEvent . KEY_DOWN , _onKeyDown ) ; . text_txt addEventListener ( KeyboardEvent KEY_DOWN, _onKeyDown.); e : KeyboardEvent ) : void { _onKeyDown function (e: KeyboardEvent ): void { e . keyCode == 13 ) { if (e. keyCode == 13) { ... } } |
Cette gestion d'événements nouveaux, de nouvelles ActionScript, mais connue de ceux qui travaillent en JavaScript, par exemple (sur ECMAScript 4), se reflète aussi dans leur gestion et des événements de production. , e vogliamo fare in modo che quando viene premuto in tasto {INVIO} durante la digitazione viene rilasciato un nostro personale evento. Imaginez que vous créez une classe TextFieldExt , une extension du classique TextField , et nous voulons nous assurer que lorsque le bouton est enfoncé dans le {INVIO} est libéré lors de la frappe l'un de nos événements de personnel. a bordo che chiamiamo text_txt . Tout d'abord, nous construisons notre MovieClip avec un TextField à bord que nous appelons text_txt . Comme vu précédemment Associació à un auditeur de ce contrôle et nous générons notre propre événement personnelles d'une manière simple:
1 2 3 4 5 6 7 8 9 10 | . KeyboardEvent ; flash.events importation. KeyboardEvent ; ... ( KeyboardEvent . KEY_DOWN , _onKeyDown ) ; . text_txt addEventListener ( KeyboardEvent KEY_DOWN, _onKeyDown.); e : KeyboardEvent ) : void { _onKeyDown function (e: KeyboardEvent ): void { e . keyCode == 13 ) { if (e. keyCode == 13) { Event = new Event ( "RETURN" ) ; var i: Event = new Event ("RETOUR"); dispatchEvent ( me ) ; ce dispatchEvent (moi).; } } |
Lorsque nous arriverons à utiliser notre instance de TextFieldExt nous pourrions écrire:
1 2 3 4 5 |
. Où myTextFieldExt est une instance de notre classe TextFieldExt . Dernier, non des moindres, comme indiqué dans le Guide de l'intérieur Flash CS3, vous pouvez bien sûr créer des événements personnalisés comme les classes, les classes à savoir que nous étendons la classe Event , puis une plus approfondie et détaillée. Comme la classe Alarm proposée dans ce guide ... mais nous allons le voir à nouveau
.










[...] "Uniforme", comme cela s'est produit avec les événements (voir la gestion des événements nouveaux dans Flash CS3 et Flash CS3: La gestion d'événement nouveau), l'une des nombreuses nouvelles fonctionnalités dans ActionScript 3.0 est la disparition de tous ceux méthodes ad hoc [...]