Abril 07, 2011, 03:00:55 PM Ultima modificación: Abril 07, 2011, 04:08:30 PM por Mandril
Quiero hacer que cada cierto tiempo se cree un objeto en un lugar aleatorio de la anchura del room. Es el t?pico juego en que caen objetos y hay que cogerlos. El hecho es que si no pongo tiempo se crean bien los objetos, pero al incluir una alarma para que no caigan cada step, no se crea ning?n objeto.
Os pongo el c?digo por si alguien puede ayudarme.

En create:
[gml]create = 0;[/gml]
En step:
[gml]alarm
  • = 30
    if create = 1{
       instance_create (random(room_width),35,watermelon);
       create = 0
       }[/gml]
    En la Alarma 0:
    [gml]create = 1;
    alarm
  • = 30;[/gml]

    Muchas gracias

Es logico que la alarma no se te active, ya que siempre la estas colocando a 30, es decir... en el step1 la pones en 30 y en el step2 vale 29, pero la vuelves a poner en 30, asi que nunca te va a funcionar... Hay dos modos de hacerlo:

MODO1:
poner la alarma en el evento create, ya que se esta activando despues desde su propia alarma:

EV_CREATE
[gml]create = 0;
alarm[0] = 30;[/gml]

EV_STEP
[gml]if create = 1{
   instance_create (random(room_width),35,watermelon);
   create = 0
   }[/gml]

EV_ALARM[0]
[gml]create = 1;
alarm
  • = 30;[/gml]




    MODO2:
    poner la alarma en el evento step pero con una condicion y quitarlo de la alarma 0:

    EV_CREATE
    [gml]create = 0;[/gml]

    EV_STEP
    [gml]if (alarm[0] = -1){ alarm[0] = 30; }
    if create = 1{
       instance_create (random(room_width),35,watermelon);
       create = 0
       }[/gml]

    EV_ALARM[0]
    [gml]create = 1;[/gml]

    Pero te aconsejo el modo1... Saludos

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


Muchas gracias.
Ahora ya funciona perfectamente. Que cosa m?s tonta...jeje.

Un saludo!