Comunidad de diseño web y desarrollo en internet online

Usar for para trabajar con objetos duplicados

Citar            
MensajeEscrito el 24 Abr 2010 06:42 pm
Hola, yo tengo una opción la cual duplica a mis objetos:

Usuario escribió:

Esta funcion esta adentro de un package, y a su vez adentro de una clase.


Código ActionScript :

      public function duplicar(target:DisplayObject,X:Number,Y:Number):void
      {
         var targetClass:Class = Object(target).constructor;
         var targetCopy:DisplayObject = new targetClass();
         targetCopy.y = Y
         targetCopy.x = X
         targetCopy.width = target.width;
         targetCopy.height = target.height;
         targetCopy.scaleX = -target.scaleX;
         copias+=1;
         targetCopy.name="copia"+copias;
         addChild(targetCopy);
         
   
      }


Ahora, quiero acceder a esos objetos mediante el nombre que les doy con DysplayObject.name (copia1,copia2,etc).

Anteriormente en AS2 era algo asi

Código ActionScript :

for(i=0;i<20;i++){
_root["copia"+i]._x=10*i;
}


Pero cuando trato desde otra funcion acceder a las copias poniendo, por ejemplo, "copia2.x=100" me tira este error : "1120: Acceso a una propiedad copia2 no definida."

Ahora, mi pregunta es : ¿Como puedo acceder a los distintos objetos duplicados con un for para ubicarlos? (Como el código en AS2).

PD: Los objetos se duplican en una función aparte, y se duplican como 10 asi que el objeto copia2 existe, fue creado.

Desde ya, muchisimas gracias.

Por lea123456

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Abr 2010 05:25 am
Pues el método de acceso es igual:

Código ActionScript :


contenedor["nombre"].propiedad = valor;



En otras palabras si lo has enviado todo al DisplayObject directamente, deberías poder acceso haciendo algo como:

Código ActionScript :


for(var i:int=0;i<20;i++){
    this["copia"+i].x = 10*i;
}


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 26 Abr 2010 12:08 am
Muchas gracias, igual ya lo solucioné de una forma parecida metiendo todo en un contenedor y usando GetChildAt. Gracias por la respuesta! ^^

Por lea123456

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Abr 2010 06:35 am
Si le has dado valor a la propiedad "name" (que no tiene nada que ver con el "nombre de instancia") Puedes usar también getChildByName.
Otra opción es que tu función "duplicar" devuelva una referencia al Mc creado y recogerlo en una variable

Por Eliseo2

710 de clabLevel



 

firefox

 

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