Contrôler une occurrence et naviguer sur la scène
CHAPITRE 4
73
• Régler la valeur de plusieurs propriétés : roue.rotation = roue2.rotation = 5;
• Attribuer la valeur renvoyée par une fonction : roue.rotation = Number(positionRoue2);
Analysons à présent quelques exemples.
Fichier de référence : Chapitre4/proprietes1.fla
roue.x = 150;
roue.y = 90;
roue2.addEventListener(MouseEvent.MOUSE_DOWN,placerRoue2);
function placerRoue2(evt:Event) {
roue2.x=259;
roue2.y=103;
}
• Lignes 1 et 2 : réglage de la position de l’occurrence roue à 150 pixels du bord gauche
de la scène et 90 pixels du haut.
• Ligne 3 : attribution d’un écouteur à l’occurrence roue2.
• Lignes 4 à 7 : fonction de rappel appelée par l’écouteur de la ligne 3.
• Lignes 5 et 6 : réglage de la position de l’occurrence roue2 à 259 pixels du bord gauche
de la scène et 103 pixels du haut.
Ce premier script, très court, est extrêmement basique : il permet d’initialiser la position
d’une occurrence et de définir un écouteur pour gérer le clic sur une autre (ou sur ellemême). Il résume assez bien le cœur des scripts que vous aurez à rédiger pour contrôler
une occurrence (initialisation et contrôle par un événement souris).
Fichier de référence : Chapitre4/proprietes1.fla
roue.addEventListener(Event.ENTER_FRAME,tourner);
function tourner(evt:Event) {
roue.rotation = roue.rotation+3;
roue2.rotation-=3;
}
• Ligne 1 : attribution d’un écouteur à l’occurrence roue.
• Ligne 2 : fonction de rappel appelée par l’écouteur de la ligne 1.
• Ligne 3 et 4 : augmentation et diminution des propriétés des occurrences roue et roue2
de respectivement +3 et –3 pixels.
Le choix de ce deuxième script n’est pas dû au hasard : il permet de démontrer la méthode
d’incrémentation en continu de la valeur d’une propriété, générant ainsi un mouvement.
Précisons que la gestion l’événement ENTER_FRAME peut bien souvent être remplacée par
une instance de l’objet TIMER().
Les différences d’écriture des deux lignes d’instructions 3 et 4 montrent qu’on peut utiliser
deux syntaxes. Nous aurions aussi bien pu écrire…
roue.rotation = roue.rotation+3;
roue2.rotation = roue2.rotation-3;
Précédent

- 101/426

Suivant