Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/01/2009, 07:39
gabiango
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: adChild de varios clips en AS3

Ya lo tengo!

Para hecer esto he hecho lo siguiente:

1 - Me creo las sentencias for y las sentencias if que necesito para hacer el filtrado

2 - creo variables dinámicas de la clase que tengo en mi biblioteca, en mi caso la clase es resultado, que tiene un par de textos:

this["resultado_"+i_result] = new resultado();

3 - añado el clip en la capa que me conviene:

addChildAt(this["resultado_"+i_result],2);

4 - relleno los dos textos que estan en la clase resultado a partir de un XML

this["resultado_"+i_result].titulo.text=caracteristicas_XML.producto[i_result].@nombre;//asignamos nombre this["resultado_"+i_result].precio.text=caracteristicas_XML.producto[i_result].@PVP+" euros";//asignamos precio

5 - posiciono los clips en función de unas condiciones

if (alternador=="arriba") {
this["resultado_"+i_result].x=x_pos;
this["resultado_"+i_result].y=y_pos;
alternador="abajo";
} else if (alternador=="abajo") {
this["resultado_"+i_result].x=x_pos;
this["resultado_"+i_result].y=y_pos+130;
x_pos=x_pos+ 320;
alternador="arriba";
contador++;
}


6 - por último asigno i_result a una matriz que en el siguiente post explicaré para que sirve

matriz_resultados[contador_resultados]=i_result;

7 - El código completo queda así:

for (var i_result:int = 0; i_result<caracteristicas_XML.producto.length(); i_result++) {

for (var i_producto:int = 0; i_producto<productos_a_buscar.length; i_producto++) {

if (productos_a_buscar[i_producto]==1) {

if (matriz_poductos[i_producto]==caracteristicas_XML.producto[i_result].@tipo_producto) {

this["resultado_"+i_result] = new resultado();//definimos el clip del resultado
addChildAt(this["resultado_"+i_result],2);//añadimos el clip a la escena
this["resultado_"+i_result].titulo.text=caracteristicas_XML.producto[i_result].@nombre;//asignamos nombre
this["resultado_"+i_result].precio.text=caracteristicas_XML.producto[i_result].@PVP+" euros";//asignamos precio
//Posicionamos el botón
if (alternador=="arriba") {
this["resultado_"+i_result].x=x_pos;
this["resultado_"+i_result].y=y_pos;
alternador="abajo";
} else if (alternador=="abajo") {
this["resultado_"+i_result].x=x_pos;
this["resultado_"+i_result].y=y_pos+130;
x_pos=x_pos+ 320;
alternador="arriba";
contador++;
}
matriz_resultados[contador_resultados]=i_result;
contador_resultados++;
trace("resultado_"+i_result);
}
}
}
}


El resultado es una serie de clips que se introducen en el escenario a partir de la biblioteca en función de unas condiciones. Cada clip cargado contiene información de un producto cuyos datos están contenidos en un XML