ActionScript 3 – Programmation séquentielle et orientée objet
96
Lorsque vous relâcherez le bouton de la souris, il faudra par contre penser à retirer/désactiver
votre écouteur.
function carteArretee(evt:Event) {
stopDrag();
carte.removeEventListener(MouseEvent.MOUSE_MOVE,actionPendantMouvement);
}
Voici le script complet, comprenant notamment la fonction de rappel intitulée actionPendantMouvement().
detecteur.alpha=carte.x/500;
carte.addEventListener(MouseEvent.MOUSE_DOWN,carteMobile);
carte.addEventListener(MouseEvent.MOUSE_UP,carteArretee);
function carteMobile(evt:Event) {
carte.startDrag();
carte.addEventListener(MouseEvent.MOUSE_MOVE,actionPendantMouvement);
}
function carteArretee(evt:Event) {
stopDrag();
carte.removeEventListener(MouseEvent.MOUSE_MOVE,actionPendantMouvement);
}
function actionPendantMouvement(evt:Event) {
detecteur.alpha=carte.x/500;
}
À la première ligne du script, nous commençons par régler la transparence de l’occurrence
detecteur afin qu’elle ne subisse pas une variation soudaine au lancement de l’animation.
Ensuite, l’unique ligne d’instruction de la fonction actionPendantMouvement() est chargée
de régler l’opacité de l’occurrence detecteur à chaque mouvement de souris.
Précisons que l’événement MOUSE_MOVE s’avérera indispensable lorsque vous réaliserez des
variateurs (consultez la section suivante pour découvrir la technique de réalisation d’un
variateur).
Il est très important de penser à retirer/désactiver un écouteur lorsqu’il n’est plus utile.
C’est pourquoi nous ajoutons la fonction removeListener() dans la fonction de rappel
carteArretee().
Remarque
Le fichier draganddrop2.fla ne contient pas tout à fait le même code que celui présenté ici, car nous
gérons le problème du curseur qui ne se trouve plus au-dessus de l’occurrence au moment où le bouton
de la souris est relâché.
Précédent

- 124/426

Suivant