Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ander_bg en Octubre 02, 2010, 04:07:17 AM

Título: Ayuda con codigo
Publicado por: ander_bg en Octubre 02, 2010, 04:07:17 AM
Hola,

alguien me puede ayudar con este problema? Trato de mantener un objeto en una posicion, si esta al final del path definido, quiero que dispare mediante un script ya creado. Lo que pasa que quiero que dispare 3 veces a intervalos, es decir, un disparo cada 30 steps por ejemplo.

Al parecer el problema esta en la alarma definida, ya que en cada step debe de reiniciarse y no se termina de inicializar las variables que tengo definidas en el Evento Alarma. He probado a poner alarm[0]=1 , es decir, que la ejecute en 1 step, y  si hace lo que tiene que hacer.

Alguna idea o ayuda??


En Step Event del objeto:
if y>50 && flag==1{

    path_start(e6_path,4,0,false) //asigno el path
    flag=0;
}


if path_position == 1 { //si esta al final del path
   
    if global.e6num_loop > 2{ //mientras no llegue al maximo (3)
        VER_GLOBALE6num = global.e6num_loop;
        fin=true;
    }
   
    if fin == false{ //si no ha finalizado , sigue disparando
   
    vspeed = 0 ; //detengo la nave
    alarm[0]=30; // >>>>> AQUI ES DONDE TENGO EL PROBLEMA !!
    }
     if fin == true{
         e6_move_out();
     }   
} //endif path_position


Título: Re: Ayuda con codigo
Publicado por: Miguel en Octubre 03, 2010, 01:57:04 PM
Porque estas inicializando siempre una alarma.
Lo mas facil es crear una variable (que haga de alarma falsa).

Por ejemplo, donde falla has de poner algo asi:

Variable+=1 //Ira incrementando
Y cuando variable==30, entonces pones que ocurra lo que querias en el evento alarm.

Luego de llegar a 30 que se reinicie.