Hola de nuevo. Aún le estoy dando vueltas al asunto. Aquí os pongo más
claro el problema a ver si me podeis ayudar.
Esta es la escena:
http://perso.wanadoo.es/o_o_c/dodecaedro.swf
y esto es lo que hay en el botón:
// aqui se crea un contenedor donde irán los nuevos objetos
var contenedor:DisplayObject3D = new DisplayObject3D();
scene.addChild(contenedor);
// aqui se recorren los objetos del primer contenedor
for each (var c:DisplayObject3D in contenedor_x.children) {
// aqui se crean los nuevos objetos
var dod:Dodecahedron=new Dodecahedron(flat);
dod.scale= c.scale * 0.4 ;
dod.x = c.x;
dod.y = c.y;
dod.z = c.z + 30;
contenedor.addChild(dod);
//
var dod:Dodecahedron=new Dodecahedron(flat);
dod.scale= c.scale * 0.4 ;
dod.x = c.x;
dod.y = c.y;
dod.z = c.z - 30;
contenedor.addChild(dod);
// aqui se borran los objetoa anteriores
contenedor_x.removeChild(c);
//
singleRender();
}
// aqui se borra el contenedor anterior ya vacío
scene.removeChildByName("contenedor_x");
// y aquí renombro el nuevo contenedor para que el for each lo
reconozca la próxima vez, pero no funciona :(
contenedor.name = "contenedor_x";
Esta vez hay 4 objetos dentro de "contenedor_x" de inicio. Al darle al
botón, por cada objeto se crean 2 más (en otro contenedor) y debería
poder repetir esta operación con los objetos que quedan pero como
pueden comprobar no funciona.
El bucle for each sólo se ejecuta la primera vez. ¿Acaso luego no
reconoce "contenedor_x" aunque renombro al nuevo contenedor así? Creo
que el mío es un problema de conceptos, no sé. ¿Alguna idea?
Gracias