Comunidad de diseño web y desarrollo en internet online

Parametros de un objeto

Citar            
MensajeEscrito el 20 Sep 2007 12:55 pm
Hola, este es mi primer post. Os conoci hace unos meses, y cada dia entro mas y mas..., felicidades a todos, sois unos CRACKS!!

LLevo un tiempo metiendome con AS3, y aun estoy algo verde... Estoy tratando de hacer una clase que me lea el contenido de un MovieClip. En concreto tengo un movieClip en el escenario que contien 3 movieClips, los cuales quiero que se lean el nobre/ruta y algun parametro interno, dinamicamente, para posteriormete publicarlo como swf y poderlo leer desde mi aplicacion.

He encontrado el siguiente metodo:

var object:Object = new Object();
object.name = "paco";
object.id = 33;
for (var key:String in object){
trace(key + ": " + object[key]); // object[key] is value
}
/* Output:
id: 33
name: paco
*/

Vale, es bastante sencillo, pero al aplicarlo a un MovieClip, no me sale nada que no cree desde el codigo, ni siquiera si lo creo en codigo del MovieClip....

Pense en algo asi:

var object:Object = new Object();
object.movie = pleca;
var key:String
for (key in object){
trace(key + ": " + object[key]); // object[key] is value
}

siendo pleca, mi MC en el escenario, esto da un output de [object pleca_1]...

En java existe la Clase parameters, y en asp hay una clase parecida para el acceso dinamico a argumentos, pero en as3 no encuentro nada...

Alguna idea?

Gracias de antemano,

lahabichuela

Por La Habichuela

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Sep 2007 01:55 pm
Bueno, una cosa si he encontrado, siempre pasa lo mismo, despues de 3 dias sin encontrar nada, preguntas, y acto seguido encuentras respuestas.

con:

trace(pleca.getChildAt (i));

salen, pero claro, cuando se acaban, El índice proporcionado está fuera de los límites.
at flash.display::DisplayObjectContainer/getChildAt()


Buscando en la documentacion online de adobe, me encuentro con esto:

function traceDisplayList(container:DisplayObjectContainer, indentString:String = ""):void
{
var child:DisplayObject;
for (var i:uint=0; i < container.numChildren; i++)
{
child = container.getChildAt(i);
trace(indentString, child, child.name);
if (container.getChildAt(i) is DisplayObjectContainer)
{
traceDisplayList(DisplayObjectContainer(child), indentString + " ")
}
}
}
traceDisplayList(pleca)
OUTPUT:
[object MovieClip] base
[object Shape] instance1
[object MovieClip] video
[object Shape] instance2
[object MovieClip] b1
[object Shape] instance3
[object MovieClip] b2
[object Shape] instance4
[object MovieClip] b4
[object Shape] instance5
[object MovieClip] b3
[object Shape] instance6

Creo que es perfecto, jejeje. Ademas de muy util para un monton de cosas... Lo que tengo que ver es si puedo dar de alta variables en codigo interno de cada MC, y despues leerlas, entonces ya tendria un "generador de componentes".

Gracias por todo, aunq me haya respondido solito.

Por La Habichuela

1 de clabLevel



 

firefox

 

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