Easy-Micro

ESPACEMEMBRE ActionScript
Dupliquer

Dupliquer un clip

En AS3, la méthode duplicateMovieClip() n'existe plus...
Elle est remplacée par le mot clé "new" qui permet de créer une copie de l'instance du clip comme ceci :
var mc1:MovieClip = new MovieClip();

On utilise ensuite la méthode addChild(mc1) qui permet d'ajouter ce clip sur la scène. Une simple boucle sera ensuite utilisée pour dupliquer le clip.

Mettre un clip sur la scène (AS3)

var mc1:MovieClip = new MovieClip();
mc1.graphics.beginFill(0xff0000); // remplissage
mc1.graphics.drawRect(0, 0, 100, 50); // forme carré

this.addChild(mc1); //affichage

Même exemple avec 2 clips (AS3)

var mc1:MovieClip = new MovieClip();
var mc2:MovieClip = new MovieClip();

mc2.graphics.beginFill(0xff0000); // remplissage
mc2.graphics.drawRect(0, 0, 100, 50); // forme carré

addChild(mc2); // affiche mc2
mc2.addChild(mc1); // mc1 dans mc2
mc2.x = 100; // positionnement de mc2

Duplication de carré (AS3)

for (var i:int = 0; i < 9; i++) {

var mc1:MovieClip = new MovieClip();
mc1.graphics.beginFill(0xff0000); // remplissage
mc1.graphics.drawRect(0, 0, 100, 50); // forme carré

this.addChild(mc1); //affichage
mc1.x = mc1.x + i;
mc1.y = mc1.y + i;
}

Pour afficher le nombre de clip, on peut utiliser la méthode numChildren :
trace (numChildren);

Et pour faire référence à chaque clip, nous pouvons ajouter le code suivant :
trace (getChildAt(i)); dans une autre boucle for.

Autre cas avec un Array:
Autre exemple de duplication de carré (AS3)

var container:Sprite = new Sprite();
addChild(container);

var posi:int = 0;
var TableauMenu:Array = new Array();

for (var i:int=0; i<3; i++) {
var instance:Sprite = new Sprite();
instance.graphics.beginFill(0xFF0000);
instance.graphics.drawRect(0,0,150,20);
TableauMenu[i] = instance;
instance.x = i * 160; // décale les boutons
container.addChild(instance);
}

Note: Pour activer le mode bouton: instance.buttonMode=true; et pour accéder aux écouteurs ou aurtes: TableauMenu[1 ou 2,3]


< Page précédente ACTIONSCRIPT Page suivante >