Comunidad de diseño web y desarrollo en internet online

¿como recorrer los objetos de un contenedor?

Citar            
MensajeEscrito el 29 Oct 2009 12:17 am
saludos a todos. tengo una duda que aunque he buscado mucho en internet no consigo resolver.

Necesito recorrer un contenedor para saber qué objetos tiene y con estos objetos realizar acciones. Como se crean dinamicamente no puedo saber a priori cuantos puede haber. ¿es algo de la lista de visualizacion? Agradeceria mucho vuestra ayuda porque esto ya me esta llevando mucho tiempo :shock:

gracias.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Oct 2009 02:31 am
Recorre el displayList

for(var i:Number = this.numChild-1; i>=0; i--) trace(this.getChildAt(i))

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2009 06:51 pm
gracias por responder solisarg.
pero no consigo hacerlo funcionar. el bucle lo pongo dentro de la funcion de un boton y al pulsarlo no hace nada.
pero si camio el this por el nombre de mi contenedor:

Código ActionScript :

         for (var i:Number = contenedor.numChild-1; i>=0; i--) {
               trace(contenedor.getChildAt(i));
            }

entonces salen estos errores:

compilador escribió:

1119: Acceso a una propiedad numChild posiblemente no definida mediante una referencia con tipo estático org.papervision3d.objects:DisplayObject3D.
1061: Llamada a un método getChildAt posiblemente no definido mediante una referencia con tipo estático org.papervision3d.objects:DisplayObject3D.

he probado anteponiendo stage, _parent ... pero no funciona :(

perdona mi torpeza

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2009 06:54 pm
Era numChildren

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:12 pm
con numChildern se corrigió el 1er error pero el 1061 persiste.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:28 pm
Haz un Cast a DisplayObject

trace(DisplayObject(contenedor).getChildAt(i));

Si te da error, mira si DisplayObject3D extiende DisplayObject (seguro que si) y hazle un cast a eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:35 pm
sigue dando error pero esta vez dice:

1061: Llamada a un método getChildAt posiblemente no definido mediante una referencia con tipo estático flash.display:DisplayObject.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:40 pm
Vale, eso me pasa por contestar de memoria sin mirar la ayuda, cast a DisplayObjectContainer()

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:51 pm
:lol: ahora no se queja el compilador pero sale esto por la ventana de salida:

salida flash escribió:

TypeError: Error #1034: Error de conversión forzada: no se puede convertir org.papervision3d.objects::DisplayObject3D@39b40e1 en flash.display.DisplayObjectContainer.
at MethodInfo-1432()
:?

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2009 07:52 pm
Ok, hasta ahí llego, DisplayObject3D es un objeto de Papervision, no se a quien extiende (a DisplayObject) y si es posible usar getChildAt, mirate la documentación de esa librería

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 31 Oct 2009 08:23 pm
hola jorge. justo me quedé sin conexion ayer cuando hablabamos. Sólo decirte que gracias por tu interes y tu tiempo.
Ahora mismo me pongo a mirar lo que dices.
hasta pronto. Gracias.

Por Unukalhai

79 de clabLevel



 

firefox

 

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