vendredi 27 novembre 2009

Actionscript structure boucle for var et MULTIPLICATION DYNAMIQUE DES OCCURRENCES

MULTIPLICATION DYNAMIQUE DES OCCURRENCES ActionScript CS3 : les structures de boucles

Nous allons pouvoir également créer 6 copies de cette occurrence et les placer en-dessous de la première.
Nous allons pour cela utiliser une boucle de traitement « for ».

Structure de la boucle for :
for (var i:int=0; i<6; i++){
faireCela;
}
La commande « faireCela » sera exécutée 6 fois, depuis la valeur 0 prise par la variable locale i jusqu'à la valeur 5 prise par celle-ci.
Ici nous allons ajouter dans notre fonction constructeur :
for (var i:int=0; i<6; i++){
}
Afin de:
  • créer une nouvelle occurrence de MC_perso nommée monPerso2;
  • placer verticalement cette occurrence;
  • placer horizontalement cette occurrence en décalage par rapport à la précédente;
  • diminuer la largeur de cette occurrence;
  • diminuer la hauteur de cette occurrence;
  • ajouter cette occurrence à la liste d'affichage
Ce code sera après le précédent « addChild », ce qui donnera :
for(var i:int=0; i<6; i++){
var monPerso2:MC_perso = new MC_perso ();
monPerso2.x = 80*i+70;
monPerso2.y = 300;
monPerso2.scaleX = .3;
monPerso2.scaleY = .3;
addChild (monPerso2);
}

Dans la ligne monPerso2.x = 80*i+70;

80 est le pas de déplacement horizontal de la nouvelle occurrence par rapport à la précédente, 70 est la coordonnée x de la première des occurrences créée dans la boucle.

CODE COMPLET SCRIPT AS3 MANIPULATION DYNAMIQUE OCCURRENCES CLIP

package{

import flash.display.*;
public class perso_01 extends MovieClip {
public function perso_01 () {
var monPerso:MC_perso = new MC_perso ();
monPerso.x = 150;
monPerso.y = 120;
monPerso.scaleX = .7;
monPerso.scaleY = .7;
addChild (monPerso);
for (var i:int=0; i<6; i++){
var monPerso2:MC_perso = new MC_perso ();
monPerso2.x = 80*i+70;
monPerso2.y = 300;
monPerso2.scaleX = .3;
monPerso2.scaleY = .3;
addChild (monPerso2);
}
}
}
}

4 commentaires:

Anonyme a dit…

Ne fonctionne pas , dommage!

Vincent Gruyer a dit…
Ce commentaire a été supprimé par l'auteur.
Vincent Gruyer a dit…

Vous pouvez préciser ce qui ne fonctionne pas dans la boucle for?

Anonyme a dit…

Je ne sais pas ce qui ne fonctionne pas car je n'ai aucune erreur de compilation et rien dans le fichier swf.
J'ai créé un fichier *.fla que j'ai lié à un fichier .* as du même nom; j'ai copié le programme dans le fichier *.as.... et rien.
PS Suis en anonyme car impossible de creer un compte Google.Décidément c pas mon jour!
merci pour ces programmes AS3.