Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/09/2009, 00:11
Avatar de Eskombro
Eskombro
 
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Instancias de Clase en AS3 sin clase externa?

Hola, tengo una pregunta un poco rara. Casi que en vez de una pregunta, es un reto!!!

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
  1. 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
  1. //loop que crea 6 bolas
  2. for (var i=1;i<6;i++){
  3. //Crear una nueva bola
  4. var bola:Bola=new Bola;
  5. //asignarle un nombre a la bola creada
  6. bola.name="bola+i";
  7. //dar posición x a la bola creada
  8. bola.x=80*i;
  9. //añadir la bola al escenario
  10. addChild(bola);
  11. }

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
  1. 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

Última edición por Eskombro; 27/09/2009 a las 00:17