Foros del Web » Creando para Internet » Flash y Actionscript »

Enemigo Dispara

Estas en el tema de Enemigo Dispara en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/11/2012, 05:41
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Enemigo Dispara

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!');
}
}
}
}
  #2 (permalink)  
Antiguo 13/11/2012, 06:15
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: Enemigo Dispara

Ya encontre el problema

Etiquetas: flash, movie, clips
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.