DUPLICATION D'UN CLIP DANS UNE ZONE RECTANGULAIRE

cs_THEPENGUIN Messages postés 12 Date d'inscription mardi 19 août 2008 Statut Membre Dernière intervention 7 novembre 2009 - 5 avril 2009 à 13:56
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 7 avril 2009 à 12:26
Bonjour j'ai un problème avec un code AS2.

je cherche à dupliquer un clip dans une zone rectangulaire et charger des images dans les clips chargés. Seulement j'ai l'impression qu'il ne créé que la dernière colonne de clip. Selon mon trace il génère bien tout les clip...

Mon code parlera pour moi je pense :

stop();
var ln:Number = 50;
var spacer:Number = 0;
var duplicate:MovieClip;
for (var ii:Number = 0; ii<ln; ii++) {

    for (var i:Number = 0; i<ln; i++) {
        var newX:Number = ii*(container._width+spacer);
        var newY:Number = i*(container._height+spacer);
        duplicate = container.duplicateMovieClip("clip-"+i+ii, i, {_y:newY, _x:newX});

        nombre = int(1+Math.random()*7);
        loadMovie("carre"+nombre+".gif", "clip-"+i+ii);

        trace("clip-"+i+"-"+ii);
    }
}

retour du trace :

clip-0-0
clip-1-0
clip-2-0
clip-3-0
clip-4-0
clip-5-0
clip-6-0
clip-7-0
clip-8-0
clip-9-0
clip-10-0
clip-11-0
clip-12-0
clip-13-0
clip-14-0
clip-15-0
clip-16-0
clip-17-0
clip-18-0
clip-19-0
clip-20-0
clip-21-0
clip-22-0
clip-23-0
clip-24-0
clip-25-0
clip-26-0
clip-27-0
clip-28-0
...
clip-49-49

Quelqu'un peux-t-il m'aider?

1 réponse

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
7 avril 2009 à 12:26
Bonjour,

ton probleme se situe là

duplicate = container.duplicateMovieClip("clip-"+i+ii, i , {_y:newY, _x:newX});

A chaque itération de ii tu écrases l'ancien clip placé à la profindeur i
la solution :

stop();
var ln:Number = 50;
var spacer:Number = 0;
var duplicate:MovieClip;

for (var ii:Number = 0; ii<ln; ii++) {

    for (var i:Number = 0; i<ln; i++) {
        var newX:Number = ii*(container._width+spacer);
        var newY:Number = i*(container._height+spacer);
        duplicate = container.duplicateMovieClip("clip-"+i+ii,container.getNextHighestDepth(), {_y:newY, _x:newX});
        nombre = int(1+Math.random()*7);
        duplicate.loadMovie("carre"+nombre+".gif");

        trace("clip-"+i+"-"+ii);
    }
}

@+
0
Rejoignez-nous