Buenas a todos, necesito ayuda con algo por favor. Tengo el siguiente codigo, es un AS que luego es llamado al .fla, lo que esta haciendo es crear un enemigo y la forma en que va a actuar.
Ahora mi problema es el siguiente, quisiera hacer que el enemigo pudiera disparar cada cierta cantidad de tiempo. Solo un disparo lineal que no siga al personaje.
Alguien me puede decir como puedo hacerlo, muchas gracias.
package{
//importamos los display de objetos y eventos
import flash.display.MovieClip;
import flash.events.*;
//esto quiere decir que el enemigo va a actuar como un Movie Clip
public class Enemy extends MovieClip{
//VARIABLES
//esto va a actuar como la raiz del documento
//asi podemos hacer referencia de manera simple al objeto
private var _root:Object;
//que tan rapido se va a mover el enemigo
private var speed:int = 5;
//esta funcion va a correr siempre que se agregue una bala
//al escenario
public function Enemy(){
//agregando eventos a esta clase
//eventos que van a correr solo cuando se agrega al mcMain
addEventListener(Event.ADDED, beginClass);
//funciones que van a correr dentro del eframe
addEventListener(Event.ENTER_FRAME, eFrame);
}
private function beginClass(event:Event):void{
_root = MovieClip(root);
}
private function eFrame(event:Event):void{
//mover la bala por el escenario
y += speed;
//hacer desaparecer la bala en cuanto se va de la pantalla
if(this.y > stage.stageHeight){
removeEventListener(Event.ENTER_FRAME, eFrame);
_root.removeChild(this);
}
//chequeando si alguna bala toca
//hacemos correr un loop por que habra varias balas
for(var i:int = 0;i<_root.bulletContainer.numChildren;i++){
//numChildren es solo para mantener una cantidad de balas en el container
//definimos una variable que sera la bala actual que estamos probando en el choque
var bulletTarget:MovieClip = _root.bulletContainer.getChildAt(i);
//prueba de choque
if(hitTestObject(bulletTarget)){
//remueve el objeto si este impacta contra la bala
removeEventListener(Event.ENTER_FRAME, eFrame);
_root.removeChild(this);
//tambien hay que remover el container y los listeners
_root.bulletContainer.removeChild(bulletTarget);
bulletTarget.removeListeners();
}
}
//prueba de choque en el personaje
if(hitTestObject(_root.mcMain)){
trace('Has perdido!');
}
}
}
}