y me empiezo a familiarizar con los cambios que tiene con respecto a As2.
Bueno el problema es el siguiente:
En el escenario tengo una instancia (MC) llamado carro.
Tengo un unico frame donde esta todo el script, en el hago que "carro" se mueva en el eje y, y con un Timer hago que cada cierto tiempo el "carro" dispare (usando addChild , en la biblioteca tengo un solo objeto llamado bala).
Y a la hora de eliminar la bala del escenario, la primer bala si se elimina bien, pero de la segunda hasta la 'n' bala tambien se eliminar solamente que me marca un error:
at flash.display::DisplayObjectContainer/removeChild()
at Disparos_fla::MainTimeline/fuego()
Y no entiendo porque me marca dicho error, ya probe con un cast (DisplayObject,MovieClip) y nada, este es el codigo que tengo en mi frame.
Código ActionScript :
var volver:Boolean=true;
var dis:Timer=new Timer(1000);
var b:Array=new Array();
var i,j:int;
i=0;
j=0;
dis.start();
dis.addEventListener(TimerEvent.TIMER,disparar);
function disparar(e:TimerEvent):void{
b[i]=(new bala());
b[i].x=carro.x+10;
b[i].y=carro.y;
b[i].name=i;
addChild(b[i]);
b[i].addEventListener(Event.ENTER_FRAME,fuego);
i++;
}
function fuego(e:Event):void{
if(e.target.x>300){
j=int(e.target.name);
trace(e.target.name+" "+(j));
removeChild(b[j]);
}
else{
e.target.x+=15;
}
}
//De aqui para abajo es para hacer mover la instancia carro sobre el eje y
carro.addEventListener(Event.ENTER_FRAME,moverse);
function moverse(e:Event):void{
if((e.target.y<300)&&(volver)){
e.target.y+=5;
}
else{
e.target.y-=5;
volver=false;
}
if((e.target.y>30)&&(!volver)){
e.target.y-=5;
}
else{
e.target.y+=5;
volver=true;
}
}Espero que me puedan orientar con este problemita,y de antemano muchas gracias.
