Le langage ActionScript > Contrôle du déroulement des scripts > Répétition d'une action |
![]() ![]() ![]() |
Répétition d'une action
ActionScript peut répéter une action un certain nombre de fois précisé ou tant qu'une condition spécifique existe. Utilisez les actions while
, do..while
, for
et for..in
pour créer des boucles.
Pour répéter une action tant qu'une condition existe :
Utilisez l'instruction while
.
Une boucle while
évalue une expression et exécute le code dans le corps de la boucle si l'expression est true
. L'expression est évaluée à nouveau après l'exécution de chaque instruction du corps. Dans l'exemple suivant, la boucle est exécutée quatre fois :
i = 4; while (i > 0) { monMC.duplicateMovieClip("nouveauMC" + i, i ); i--; }
Vous pouvez utiliser l'instruction do..while
pour créer le même genre de boucle qu'avec une boucle while
. Dans une boucle do..while
, l'expression est évaluée à la fin du bloc de code et la boucle est toujours exécutée au moins une fois, comme dans l'exemple suivant :
i = 4; do { monMC.duplicateMovieClip("nouveauMC" + i, i ); i--; } while (i > 0);
Pour répéter une action en utilisant un compteur intégré :
Utilisez l'instruction for
.
La plupart des boucles utilisent un compteur d'un certain type pour contrôler le nombre de fois qu'une boucle est exécutée. Chaque exécution d'une boucle est appelée itération. Vous pouvez déclarer une variable et rédiger une instruction qui augmente ou diminue la variable chaque fois que la boucle est exécutée. Dans l'action for
, le compteur et l'instruction qui l'incrémente font partie de l'action. Dans l'exemple suivant, la première expression (i = 4
) est l'expression initiale évaluée avant la première itération. La deuxième expression ( i > 0
) est la condition contrôlée à chaque fois avant l'exécution de la boucle. La troisième expression (i--
) est appelée post-expression et est évaluée à chaque fois après l'exécution de la boucle.
for (i = 4; i > 0; i--){ monMC.duplicateMovieClip("nouveauMC" + i, i + 10); }
Pour passer en boucle sur les enfants d'un clip ou d'un objet :
Utilisez l'instruction for..in
.
Les enfants sont composés d'autres clips, fonctions, objets et variables. L'exemple suivant utilise trace
pour envoyer les résultats à la fenêtre Sortie :
monObjet = { nom:'Joe', âge:25, ville:'San Francisco' }; for (nomDeProp in monObjet) { trace("monObjet a la propriété : " + nomDeProp + ", avec la valeur : " + monObjet[nomDeProp]); }
Cet exemple donne les résultats suivants dans la fenêtre Sortie :
monObjet a la propriété : nom, avec la valeur : Joe monObjet a la propriété : âge, avec la valeur : 25 monObjet a la propriété : ville, avec la valeur : San Francisco
Vous pouvez souhaiter que votre script itère sur un type particulier d'enfants, par exemple, seulement sur les enfants d'un clip. Vous pouvez le faire avec for..in
en conjonction avec l'opérateur typeof
.
for (nom dans monClip) { if (typeof (monClip[nom]) == "clip") { trace("J'ai un clip enfant appelé " + nom); } }
Remarque L'instruction for..in
itère sur les propriétés des objets dans la chaîne prototype itérée de l'objet. Si le prototype d'un objet enfant est parent
, for..in
itère également sur les propriétés de parent
. Pour plus d'informations, consultez Création d'héritage.
Pour plus d'informations sur chaque action, consultez les entrées correspondantes dans le dictionnaire ActionScript (via le menu Aide).
![]() ![]() ![]() |