La gestion des événements
CHAPITRE 3
57
function tournerRoue (evt:MouseEvent) {
roue_inst.rotation=5;
}
Comme vous pouvez le constater, la fonction possède (obligatoirement) une variable
locale typée (evt:MouseEvent). L’oubli de ce paramètre entraîne une erreur lors de
l’exécution du programme. Il s’agit du nom de l’objet qui va réceptionner toutes les
informations renvoyées au moment de la détection du déclenchement de l’événement.
D’ailleurs, si nous affichions le contenu de la variable evt, voici ce que nous obtiendrions :
trace(evt);
Il s’agit d’informations relatives à l’occurrence cliquée ou survolée (tout dépend de
l’événement défini). Ainsi, nous savons par exemple que l’occurrence se trouve à
102,5 pixels du bord gauche de la scène, que le clic s’est produit à 2 pixels (horizontalement) du point d’alignement de l’occurrence, que la touche Shift n’a pas été maintenue
au moment du clic, etc. Toutes ces informations sont accessibles à partir de la simple
lecture d’une propriété de l’objet evt, ce qui ne requiert pas de nombreuses lignes de
code. Consultez la section Utiliser les informations stockées dans la variable locale de la
fonction de rappel pour des explications complémentaires.
La déclaration d’un écouteur
Une fois définie la fonction qui sera exécutée lors du déclenchement de l’événement, il
faut l’associer à une occurrence et à un événement donné. C’est l’objet du code suivant :
btDeclencheur.addEventListener(MouseEvent.MOUSE_DOWN,tournerRoue);
Voici ce que signifie cette instruction qui fait appel à la méthode addEventListener() :
btDeclencheur est le nom de l’occurrence sur laquelle nous allons devoir cliquer, événement MouseEvent.MOUSE_DOWN, pour exécuter la fonction de rappel tournerRoue.
Si vous étiez habitué aux gestionnaires d’événements de l’AS1/AS2, vous trouverez peutêtre cette nouvelle syntaxe un peu plus complexe qu’un simple onPress ou on(press),
[MouseEvent type="mouseDown" bubbles=true cancelable=false eventPhase=2
localX=2 localY=3 stageX=102.5 stageY=142 relatedObject=null
ctrlKey=false altKey=false shiftKey=false delta=0]
Remarque
Dans cet exemple, nous avons choisi arbitrairement le terme evt, mais nous verrons dans ce chapitre que
ce mot peut être choisi librement, sous certaines contraintes (pas de caractères accentués ou spéciaux,
ni même d’espace, pas de capitale initiale).
Remarque
Cette fonction est qualifiée de callBack car elle sera appelée (call) en retour (Back) de l’événement
détecté. Les lignes de codes qu’elle contient seront alors exécutées.
Précédent

- 85/426

Suivant