ActionScript 3 – Programmation séquentielle et orientée objet
100
Vérifier l’emplacement de l’occurrence
Lorsque vous effectuerez un glisser-déposer d’une occurrence sur la scène, vous souhaiterez peut-être effectuer un test au moment du relâchement pour vérifier sa position.
Placez dans ce cas un test dans la fonction de rappel de l’écouteur qui gère l’événement
MOUSE_UP. Voici un exemple :
function pionRelache(evt:Event) {
stopDrag();
if(pion.x>180) pion.x=55;
}
Tester la collision entre deux occurrences
Nous venons d’évoquer, dans le développement précédent, la possibilité d’évaluer la
position d’une occurrence sur la scène. Dans certains cas, il sera plus facile de tester
l’intersection de deux occurrences.
Pour cela, vous devez utiliser la méthode hitTestObject() en utilisant la syntaxe suivante :
nomduneoccurrence.hitTestObject(nomduneautreoccurrence);
L’exécution de cette ligne d’instruction a pour renvoie la valeur true ou false.
Pour tester cette méthode, positionnez deux occurrences sur la scène, à cheval l’une sur
l’autre. Nommez-les piece1 et piece2 et saisissez la ligne d’instruction ci-dessous :
trace(piece1.hitTestObject(piece2));
Au moment de la prévisualisation de votre animation (Ctrl-Entrée sur Windows ou
Commande-Entrée sur Mac) la fenêtre Sortie de Flash affiche le mot true.
Fermez à présent la fenêtre de prévisualisation pour pouvoir séparer les deux occurrences
et publiez à nouveau votre animation. Cette fois-ci, le mot false s’affiche dans la fenêtre
Sortie. Cela démontre bien que nous pouvons utiliser cette ligne d’instruction dans un
test conditionnel avec if(). Consultez éventuellement le chapitre 9 pour apprendre à
écrire des tests dans un programme.
Dans l’exemple ci-dessous, nous allons faire rouler une balle en partant de la gauche de
la scène pour aller vers la droite (figure 4-24). Une occurrence, symbolisant un mur, se
trouve au milieu de la scène. Nous allons tester une éventuelle collision entre ces deux
occurrences pour pouvoir interrompre le mouvement le cas échéant.
L’expression « renvoyer »
Le verbe renvoyer est utilisé en programmation pour exprimer le fait qu’une fonction peut afficher ou transmettre une valeur. Dans le cas présent, une fonction trace() sert à renvoyer ou afficher dans la fenêtre
Sortie ce qu’elle contient entre parenthèses.
La fonction trace(12+35) renvoie la valeur 47. Vous découvrirez, dans certaines fonctions, le terme
return qui permet de renvoyer la valeur qui suit ce mot-clé.
100
Vérifier l’emplacement de l’occurrence
Lorsque vous effectuerez un glisser-déposer d’une occurrence sur la scène, vous souhaiterez peut-être effectuer un test au moment du relâchement pour vérifier sa position.
Placez dans ce cas un test dans la fonction de rappel de l’écouteur qui gère l’événement
MOUSE_UP. Voici un exemple :
function pionRelache(evt:Event) {
stopDrag();
if(pion.x>180) pion.x=55;
}
Tester la collision entre deux occurrences
Nous venons d’évoquer, dans le développement précédent, la possibilité d’évaluer la
position d’une occurrence sur la scène. Dans certains cas, il sera plus facile de tester
l’intersection de deux occurrences.
Pour cela, vous devez utiliser la méthode hitTestObject() en utilisant la syntaxe suivante :
nomduneoccurrence.hitTestObject(nomduneautreoccurrence);
L’exécution de cette ligne d’instruction a pour renvoie la valeur true ou false.
Pour tester cette méthode, positionnez deux occurrences sur la scène, à cheval l’une sur
l’autre. Nommez-les piece1 et piece2 et saisissez la ligne d’instruction ci-dessous :
trace(piece1.hitTestObject(piece2));
Au moment de la prévisualisation de votre animation (Ctrl-Entrée sur Windows ou
Commande-Entrée sur Mac) la fenêtre Sortie de Flash affiche le mot true.
Fermez à présent la fenêtre de prévisualisation pour pouvoir séparer les deux occurrences
et publiez à nouveau votre animation. Cette fois-ci, le mot false s’affiche dans la fenêtre
Sortie. Cela démontre bien que nous pouvons utiliser cette ligne d’instruction dans un
test conditionnel avec if(). Consultez éventuellement le chapitre 9 pour apprendre à
écrire des tests dans un programme.
Dans l’exemple ci-dessous, nous allons faire rouler une balle en partant de la gauche de
la scène pour aller vers la droite (figure 4-24). Une occurrence, symbolisant un mur, se
trouve au milieu de la scène. Nous allons tester une éventuelle collision entre ces deux
occurrences pour pouvoir interrompre le mouvement le cas échéant.
L’expression « renvoyer »
Le verbe renvoyer est utilisé en programmation pour exprimer le fait qu’une fonction peut afficher ou transmettre une valeur. Dans le cas présent, une fonction trace() sert à renvoyer ou afficher dans la fenêtre
Sortie ce qu’elle contient entre parenthèses.
La fonction trace(12+35) renvoie la valeur 47. Vous découvrirez, dans certaines fonctions, le terme
return qui permet de renvoyer la valeur qui suit ce mot-clé.
