En realidad, nunca me había enterado que uno podía cambiar el nombre de instancia a través de código, o asignarlo:
Código actionScript:
Ver original
boton.name="boton1";
Bueno. Al enterarme de esto, se me ocurrió lo siguiente: y si intentamos hacer algo como el duplcateMovieClip que tanto sonaba antes?
Por lo tanto creé una bola que tiene como nombre de clase Bola(); y que simplemente está en la biblioteca. Intento duplicarla con un Loop:
Código actionScript:
Ver original
//loop que crea 6 bolas for (var i=1;i<6;i++){ //Crear una nueva bola var bola:Bola=new Bola; //asignarle un nombre a la bola creada bola.name="bola+i"; //dar posición x a la bola creada bola.x=80*i; //añadir la bola al escenario addChild(bola); }
Funciona muy bien, y me crea en el escenario 6 bolas. Ahora lo complejo. Si creas esto, estarías creando copias de un símbolo, pero no sabía como poner un nombre de instancia cada bola para manejarla. Pensé que a través del .name le podía dar un nombre de instancia, y luego modificarlo. Pero si escribo en alguna parte, por ejemplo
Código actionScript:
Ver original
bola3.y+=100;
me dice que bola3 no existe. sin embargo un trace me dice que su nombre si es bola3. No se puede usar esta propiedad para asignar un nombre de instancia a cada bola, y después poderla manejar?
Ufff, no sé si está difícil la pregunta, pero aspiro encontrar la respuesta, me pueden ayudar? Si se encuentra, creo que se le facilita el trabajo a miles de personas, porque si lo pienso, no he visto nunca después de mucho buscar, que alguien haya aclarado esta forma. La función duplicateMoiveClip estaría viva, sin clases externas...
Un saludo. Espero su amable ayuda.
Eskombro