Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/11/2010, 15:14
Avatar de pollorojo1
pollorojo1
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 3
Pregunta Instanciar objetos dinamicamente

Hola, tengo una duda de como hacer una cosa en AS3.

Tengo en la biblioteca estos movieclip, instanciados con estos nombres:

eco1
eco2
eco3
eco4
eco5

Quiero saber como puedo instanciarlos dinamicamente para no hacer estode agregar uno por uno:

Código:
var mcECO1:eco1 = new eco1();
var mcECO2:eco2 = new eco2();
var mcECO3:eco3 = new eco3();
var mcECO4:eco4 = new eco4();
var mcECO5:eco5 = new eco5();
De usar algo como esto con un for: var ["mcECO"+i] = new eco+i(); (no se como se hace...jaja)

----------------------------------------------

Por otro lado... tengo unos botones en el escenario y quiero trabar el codigo dinamicamente tmb (pongo el codigo de 2 botones como ejemplo con los nombres de instancia eBT1 y eBT2).

Código:
var i:int = 1;

eBT1.buttonMode = true;
eBT2.buttonMode = true;

var mcECO1:eco1 = new eco1();
var mcECO2:eco2 = new eco2();

//BOTON 1 ---------------------------------------
eBT1.addEventListener(MouseEvent.MOUSE_DOWN, ecoBT1, false, 0, true);
function ecoBT1(event:MouseEvent):void{

//Si i vale distinto a 1, quiero que elimine el mc mcECO2, valiendo i=2.

if(i!=1){
//Efecto de alpha que se va degradando.
	var out:Tween = new Tween(["mcECO"+i], "alpha", Strong.easeOut, 1, 0, 2, true);
//Cuando termino el efecto que elimine el mc mcECO2
	out.addEventListener(TweenEvent.MOTION_FINISH, termino)
	function termino (e:TweenEvent){
		removeChild(["mcECO"+i])
		}
}

//Agregue al escenario el nuevo mc mcECO1.	
mcECO1.x = 220;
mcECO1.y = 65;
var myTweenAlpha:Tween = new Tween(mcECO1, "alpha", Strong.easeOut, 0, 1, 2, true);
addChild(mcECO1);

//Y i=1, para decir que el mc que esta en pantalla es el mcECO1
i = 1;

}
//BOTON 2 ---------------------------------------
eBT2.addEventListener(MouseEvent.MOUSE_DOWN, ecoBT2, false, 0, true);
function ecoBT2(event:MouseEvent):void{

//Si i vale distinto a 2, quiero que elimine el mc mcECO1, valiendo i=1.

if(i!=2){
//Efecto de alpha que se va degradando.
	var out:Tween = new Tween(["mcECO"+i], "alpha", Strong.easeOut, 1, 0, 2, true);
//Cuando termino el efecto que elimine el mc mcECO2
	out.addEventListener(TweenEvent.MOTION_FINISH, termino)
	function termino (e:TweenEvent){
		removeChild(["mcECO"+i])
		}
}

//Agregue al escenario el nuevo mc mcECO2.	
mcECO1.x = 220;
mcECO1.y = 65;
var myTweenAlpha:Tween = new Tween(mcECO1, "alpha", Strong.easeOut, 0, 1, 2, true);
addChild(mcECO2);

//Y i=2, para decir que el mc que esta en pantalla es el mcECO2
i = 2;

}
Se entiende lo que quiero hacer? que al apretar un boton se elimine el movieclip que este en el escenario y se agregue el que le corresponde a ese boton, todo en funcion a la variable i, que va cambiando el valor con respecto al boton apretado.

Y usar esta variable para indicar el movieclip a eliminar y a aplicarle el efecto.
Mi problema es esto ["mcECO"+i] o algo similar para usar...

El que pueda ayudarme lo antes posible se lo agradecere! no con plata por que no tengo jajaja