hola, ,ya estoy otra vez por a qui :-[ ,pensaba que me resultaría mucho mas fácil pero no doy con ello ,consigo que mi robot enemigo me genere el disparo a una dirección y cada 10 segundos me crea otro ,pero quiero conseguir que cada nuevo disparo la dirección sea diferente , y por mucho que lo intente no lo consigo
me gustaría crear el disparo de la imagen
veo que ya lo resolvio, aun asi voy a explicar como hacer este tipo de patrones para los mas nuevos
es muy sencillo la logica seria direcion de nuestra bala = a rotacion;
[gml]
///METODO 1 CON VARIABLES
//Evento create
rotacion = 0;
//Evento Step:
switch(pattern)
{
case 1:
rotacion = (rotacion+5) mod 360; //velocidad de rotacion. + girara de derecha a izquierda , - girara de izquierda a derecha
//si su objeto rota sobre su propio eje puede usar image_angle
if(rotacion%25==0) //cada cuando debera crear una bala esto solo funciona con numeros enteros creo no lo se
{
var bullet = instance_create(x , y , objBullet);
bullet.direction = rotacion ;
}
break;
}
///METODO 2 CON BUCLES FOR
//PATRON SENCILLO DE DISPARO EN ESPIRAL
if(keyboard_check(vk_enter))
{
image_angle++; //rotacion del patron usare image_angle pues el arma es una torreta
for(var i=0; i<360/15; i+=30;){
var bullet = instance_create(x,y,mainP1Bullets);
bullet.direction = i+image_angle;
bullet.sprite_index = sprWaveBullet;
bullet.mainSpeed = 70*mainC.deltaTime;
}
//MAS EJEMPLOS PATRON- CRUZ DEL SAGRADO CORAZON DE IWATA TORRETA DE CUATRO CAÑONES
if(keyboard_check(vk_up))
{
image_angle++;
for(var i=0; i<360; i+=90;){
var bullet = instance_create(x,y,mainP1Bullets);
bullet.direction = i+image_angle;
bullet.sprite_index = sprWaveBullet;
bullet.mainSpeed = 70*mainC.deltaTime;
}
[/gml]