Comunidad de diseño web y desarrollo en internet online

Hacer referencia a objetos dinamicamente

Citar            
MensajeEscrito el 04 Jun 2009 04:47 pm
En ActionScrpt 2 cuando queria hacer referencia a un objeto que habia creado dinamicamente por medio de algun contador hacia esto:

_root["objeto"+contador]._x=300;

Pero el problema que tengo es que no se como hacer eso en ActionScript3, supongo que es algo facil para alguien que sepa de este lenguajes. Gracias de antemano por las respuestas¡¡

Por academico

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jun 2009 11:10 pm

academico escribió:

En ActionScrpt 2 cuando queria hacer referencia a un objeto que habia creado dinamicamente por medio de algun contador hacia esto:

_root["objeto"+contador]._x=300;

Pero el problema que tengo es que no se como hacer eso en ActionScript3, supongo que es algo facil para alguien que sepa de este lenguajes. Gracias de antemano por las respuestas¡¡

Lo que hayo yo es asignarlos a un Array.
Osea creo el array Objetos, y luego dentro de el creo los objetos, de esa manera solo necesito.
objetos[numero].x=300;
¿entendiste?

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 05 Jun 2009 06:34 am
Académico, es que en AS3 "casi dejó de tener sentido el "nombre de instancia". De hecho el "nombre de instancia" pasa a ser "una variable que hace referencia a un MC".
Como toda variable, o hacemos lo que dice JaLeRu y la guardamos en un array -tendríasmo entonces un array de variables que hacen referencia a MCs-, o, también podemos usar la notación de corchetes. Vamos, tenemos dos MCs con nombre de instancia "objeto1" y "objeto2" y podemos escribir

Código ActionScript :

i=1;
trace(this["objeto"+i]);
i=2;
trace(this["objeto"+i]);


Lo que ocurre es que, para el compilador de Flash no son más que variables, así que hay que hacer una conversión de cast

Código ActionScript :

i=1;
var mc:MovieClip=MovieClip(this["objeto"+i])
//ó
var mc:MovieClip=this["objeto"+i] as MovieClip
//ahora podemos escribir
mc.x=300

//si queremos hacerlo en una sóla instrucción -me parece poco claro, pero bueno
i=1
MovieClip(this["objeto"+i]).x=300

Por Eliseo2

710 de clabLevel



 

firefox

 

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