juanes escribió:
hola, tengo un problema y necesito una solución urgente, sucede que necesito duplicar varios moviclips, y genero numeros aleatorios para asi mismo duplicar la cantidad de moviclips. al generar el primer numero ejemplo: x=5, me duplica los 5 moviclips, el problema es que al generar otro numero aleatorio ejemplo: m=3 me borra los 3 primeros moviclips y no entiendo el por que. aclaro que los dos moviclips de los que estoy hablando estan en posiciones distintas.
stop();
x=random(10);
_root.clip._visible=false;
for(i=1;i<=x;i++) {
duplicateMovieClip (_root.clip, "clip" + i, i);
z=14*i;
p=(getProperty(_root.clip, _x))+z
_root["clip"+i]._x = p
_root["clip"+i]._visible = true;
}
///////////////////////
m=random(10);
_root.mov._visible=false;
for(j=1;j<=m;j++) {
duplicateMovieClip (_root.mov, "mov" + j, j);
r=14*j;
c=(getProperty(_root.mov, _x))+r
_root["mov"+j]._x = c
}
ayudemen con por favor.
tu codigo en linesa generales esta bien, pero fijate en lo que marque en negritas, no es que te los borres es que tu los estas volviendo a crear
, es decir, supongamos q en el primero creas 5 (mov1, mov2, ......., mov5) y luego creas 10 (mov1, mov2, mov3, mov4,.........., mov10) fijate que los primeros 5 ya estan creados, y como varios objetos no pueden tener el mismo nombre pues simplemente lo vuelve a crear y borra el anterior (esta parte creo que flash la maneja asi) en fin para corregir tu problema, tienes que en el segundo for hacer esto
Código :
for(j=[b]x[/b];j<=[b]m+x[/b];j++) {
duplicateMovieClip (_root.mov, "mov" +[b]j[/b], j);
y eso deberia funcionar