Diciembre 20, 2021, 02:46:28 PM Ultima modificación: Diciembre 20, 2021, 05:57:51 PM por Ikaro3d
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



#1 Diciembre 22, 2021, 09:39:03 PM Ultima modificación: Diciembre 22, 2021, 11:50:34 PM por Jeffrey Faper
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]