Mayo 16, 2014, 03:11:58 PM Ultima modificación: Mayo 16, 2014, 03:28:14 PM por rogerskate
Me explico, quiero que un personaje cada cierto tiempo mire a un lado aleatorio (son 4), por lo tanto trate de inventarlo con alarmas, pero no se como elaborarlo con :GMS: .

Yo lo que hice fue algo así:


//Obj_player.Create
  ya = true

//Obj_player.Step
  if ya = true
     {alarm[0]=30}

//Obj_player.Alarm 0
  ya = false
  R = random_range(1,4)

  If R = 1
     {Alarm[1]= 15}
  //Y asi para 4 alarmas...

//Obj_player.Alarm 1
  image_angle = 90
  ya = true     //Así vuelve a hacer el ciclo en Step

.:RoskGames:.

Lo que sucede es que no te has dado cuenta de que en el evento Step le asignas a la variable alarm[0] el valor 30 en cada step, por lo que nunca llega a cero y nunca activa la alarma.

Si tú dices: ya = true
Luego preguntas: SI (ya = true), entonces alarm[0] = 30
en cada Step, vuelves a preguntar: SI (ya = true) //y lo sigue siendo// entonces alarm
  • = 30
    por lo que nunca se activa la alarma.

    Te resultaría más fácil:
    //Create
    alarm[0] = 30
    De ese modo, la alarma comienza a moverse sin interrupción hasta activar el evento

    //Alarma 0
    R = random_range(1, 4); //Seleccionas al azar un valor de 1 a 4
    image_angle = 90 * (R - 1); //multiplicas el valor de R por 90.
    //Si es 1:  (1 - 1) * 90 = 0 * 90 = 0
    //Si es 1:  (2 - 1) * 90 = 1 * 90 = 90
    //Si es 1:  (3 - 1) * 90 = 2 * 90 = 180
    //Si es 1:  (4 - 1) * 90 = 3 * 90 = 270
    alarm[0] = 30 //luego vuelves a llamar a la misma alarma dentro de 30 steps.


    Saludos
Vota nuestro proyecto en Steam Greenlight:

Estudios Naicura Ltda

Muchas gracias Markus :D lo probare y luego te aviso como me fue  ;D
.:RoskGames:.