Contrôler une occurrence et naviguer sur la scène
CHAPITRE 4
95
Voici le code correspondant :
carte.addEventListener(MouseEvent.MOUSE_DOWN,carteMobile);
carte.addEventListener(MouseEvent.MOUSE_UP,carteArretee);
function carteMobile(evt:Event) {
carte.startDrag(false);
}
function carteArretee(evt:Event) {
stopDrag();
}
Si vous avez compris la manipulation des gestionnaires d’événements, vous pouvez constater
que la structure de ce script est logique. Dans ce cas, essayons d’aller plus loin et d’ajouter
une notion supplémentaire : effectuer une action lors du déplacement de l’occurrence.
Exécuter une action lors du mouvement d’une occurrence
Fichier de référence : Chapitre4/draganddrop2.fla
La technique est extrêmement simple car il suffit d’ajouter un gestionnaire d’événement
qui fait appel à la constante MOUSE_MOVE. En revanche, il est important de comprendre
l’imbrication du code.
À quel endroit du script allez-vous ajouter un écouteur ? Dans la mesure où vous allez
devoir cliquer sur une occurrence avant de pouvoir la déplacer, nous allons donc ajouter
la ligne d’instruction ci-dessous dans la fonction de rappel de l’écouteur qui contient la
constante MOUSE_DOWN.
carte.addEventListener(MouseEvent.MOUSE_MOVE,actionPendantMouvement);
Vous obtenez ainsi le code suivant :
function carteMobile(evt:Event) {
carte.startDrag();
carte.addEventListener(MouseEvent.MOUSE_MOVE,actionPendantMouvement);
}
Remarque
Si vous omettez le paramètre false de la méthode startDrag(), vous constaterez que la carte est bien
rendue mobile, et que son point d’alignement ne vient pas se coller au curseur de votre souris (comme
nous l’avons vu dans le cas d’une occurrence rendue automatiquement mobile). La valeur false ne
s’avère donc pas indispensable et vous ne devez surtout pas utiliser la valeur true (sauf si vous souhaitez
replacer le point d’alignement d’une occurrence sur l’extrémité du curseur).
Situons notre exemple dans un contexte
Pour vous expliquer cette notion, prenons l’exemple d’une occurrence (un carré orange) dont la transparence
va dépendre de la position d’une autre. Plus nous allons déplacer la carte à jouer de notre exemple à
droite de la scène, plus le carré orange sera opaque.
Précédent

- 123/426

Suivant