Comunidad de diseño web y desarrollo en internet online

Duplicando Clips Problema... AS2

Citar            
MensajeEscrito el 01 Oct 2007 03:23 pm
Algo anda mal aqui...

Código :

for (var i:Number = 1; i <= 2; i++) {
   duplicateMovieClip(this.barra["bolita"+i],"bolita"+i+1,i+1);
   this.barra["bolita"+i+1]._y = this.barra["bolita"+i] + 40
}


Esto me debe duplicar el clip "bolita" que esta dentro de un clip "barra" dos veces... pues bien.. hasta ahi todo ok... pero cuando cambio el límite "i<=2" a "i<=5" por ejemplo... pues no funciona... sigue duplicando uno mas y no la cantidad que deseo. ¿que estoy haciendo mal?

Al final lo que deseo es duplicar un clip tantas veces como quiera (con una variable) y colocarlo uno debajo del otro haciendo una columna.... vaya lio...! Gracias :crap:

Por LordGraphic3

84 de clabLevel



Genero:Masculino  

desde?

firefox
Citar            
MensajeEscrito el 01 Oct 2007 05:19 pm
this.barra["bolita"+i+1]._y = this.barra["bolita"+i] + 40*i

he multiplicado el 40 por el valor de i, asi el proximo movieclip tendra otro valor en _y

salut

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 01 Oct 2007 07:17 pm

Código :

for (var i:Number = 1; i <= 5; i++) {
   duplicateMovieClip(this.barra["bolita"+i],"bolita"+i+1,i+1);
   this.barra["bolita"+i+1]._y = this.barra["bolita"+i]._y + i*40;
   this.barra.bolita3._y = 80
}


esa parte de "i*40" no lo habia pensado pero el problema no parece ser esa área... ya que no logro duplicar mas de una vez la bolita.... El problema parece ser algo ma´s en el código...

Por LordGraphic3

84 de clabLevel



Genero:Masculino  

desde?

firefox
Citar            
MensajeEscrito el 01 Oct 2007 07:28 pm
No sé si lo que digo es ceirto, pero si entiendo lo que planteaste, tienes un error en tu código. Si lo que tienes es un sólo movieclip, llamado "bolita1" y es lo que quieres duplicar, sólo funcionará una vez porque en el código tienes esto:

Código :

duplicateMovieClip(this.barra["bolita"+i],"bolita"+i+1,i+1);

O sea que la primera vez "i" valdrá 1 y encontrará a "bolita1", pero luego "i" valdrá 2 y no encontrará nada, devolviéndote "undefined", por eso sólo aparece una vez.
Una posible solución:

Código :

for (var i:Number = 2; i <= 5; i++) { <---"i" comienza en 2 porque ya tienes "bolita1"
   duplicateMovieClip(this.barra["bolita1"],"bolita"+i,i); <---Siempre duplicas "bolita1", generando "bolita2", etc.
   this.barra["bolita"+i]._y = this.barra["bolita1"]._y + i*40;
   this.barra.bolita3._y = 80 <---No sé qué es "bolita3"
}

Como te dije antes, no estoy seguro si te entendí bien, pero creo que por ahí van los tiros. Revisa tu código a ver.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 01 Oct 2007 07:34 pm
YEAHHHHHHHHHHHHH!!!!!!

Código :

for (var i:Number = 1; i <= 5; i++) {
   this.barra.bolita1.duplicateMovieClip("bolita"+i+1,i+1);
   this.barra["bolita"+i+1]._y = this.barra.bolita1._y + i*40;
}


GREAT!!!! Gracias.... Modifique lo que me indicaste y por ahi funcionooooo!...

Lo de bolita tres es algo que se me habia pasado jeje.. probaba si realmente existia bolita tres... Gracias..!!!!!

Por LordGraphic3

84 de clabLevel



Genero:Masculino  

desde?

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.