Comunidad de diseño web y desarrollo en internet online

¿arreglo de punteros (referencias) a movieClips?

Citar            
MensajeEscrito el 15 Mar 2010 02:15 pm
Hola gente de Cristalab, tengo una duda con respecto a si puedo usar un arreglo como este...

Código ActionScript :

var arreglo:Array = new Array("uno","dos","tres","cuatro");


Para acceder a los movieClips que tengan esos nombres que aparecen en cada posición del arreglo. Algo mas o menos así.

Código ActionScript :

arreglo[1].alpha


Yo intente algo por mi cuenta haciendo un cast pero parece que no se puede. Este es lo que probé.

Código ActionScript :

var arreglo:Array = new Array("uno","dos","tres","cuatro");

MovieClip(arreglo[0]).alpha = 0.5;


Aquí salta un error que dice:
TypeError: Error #1034: Error de conversión forzada: no se puede convertir "uno" en flash.display.MovieClip.
at Sint_fla::MainTimeline/frame1()


¿Alguien sabe como puedo acceder a movieClips utilizando un arreglo?

Por hetors

93 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Mar 2010 02:32 pm
Si esas instancias existen en el escenario y el code está en la misma línea de tiempo prueba

MovieClip(this[arreglo[0]]).alpha = 0.5;

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Mar 2010 02:57 pm
Hetors, puedes tener un array de movieClips, pero en tal caso, siempre que los tengamos en el mismo momento en que declaramos el array

Código ActionScript :

var arreglo:Array = new Array(uno,dos,tres,cuatro); //sin las comillas
//y escribiríamos, p.e.
arreglo[0].alpha=0
arreglo[1].gotoAndPlay(2)

Si le pones comillas lo que tienes es un array de STRINGS -que no se pueden convertir mediante ningún "cast" a MovieClip, son strings-. Cuando tenemos "Strings", podemos usar la "notación de corchetes", que es lo que te ha indicado Jorge

Código ActionScript :

//arreglo[0] vale el STRING "uno"
this[arreglo[0]] //<--valdría el MC uno
//A vecees es necesario indicar que es un MovieClip -usamos entonces una conversión de cast
this[arreglo[0].alpha=0 //sí valdría
//pero para ejecutar un método, p.e. hacer un gotoAndPlay precisamos una conversión de cast
MovieClip(this[arreglo[0]).gotoAndPlay(2)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Mar 2010 03:09 pm
GRACIAS Jorge y Eliseo2, funciona perfecto, esto de AS3 me me volvio loco.
Muchas gracias nuevamente, saludos.

Por hetors

93 de clabLevel



 

firefox

 

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