Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eldimarzioxp en Febrero 17, 2015, 04:20:17 AM

Título: [Solucionado]¿LLuvia random?
Publicado por: eldimarzioxp en Febrero 17, 2015, 04:20:17 AM
Hola buenas estoy haciendo un sistema de lluvia pero no consigo que llueva seguido solo unas gotitas y despues para. ¿Me pueden facilitar alguna opción?
Codigo:   randomize ();
   lluvia = irandom_range(1,100)
   
        if lluvia = 5 effect_create_below(ef_rain,x,y,1,c_aqua);

Un saludo.
Título: Re:¿LLuvia random?
Publicado por: kaliman777 en Febrero 17, 2015, 03:28:51 PM
Hola:
Te recomiendo que uses una alarma. Al final del código, le pones una alarma que haga que se repita el efecto. Así la alarma se encarga de que siempre llueva:
randomize ();
   lluvia = irandom_range(1,100)
   
        if lluvia = 5 effect_create_below(ef_rain,x,y,1,c_aqua); alarm[0]=2;

y en alarm[0] pones ese código exactamente.
Título: Re:¿LLuvia random?
Publicado por: eldimarzioxp en Febrero 17, 2015, 08:12:42 PM
Cita de: kaliman777 en Febrero 17, 2015, 03:28:51 PM
y en alarm[0] pones ese código exactamente.
Hola,
¿Que código? Puse el que has modificado pero sigue saliendo unas gotitas. Gracias.
Título: Re:¿LLuvia random?
Publicado por: penumbra en Febrero 17, 2015, 09:10:13 PM
¿En qué evento usas el código que pegaste? Nunca he usado esos efectos, pero ¿por qué estás usando una condición basada en un número aleatorio?
Título: Re:¿LLuvia random?
Publicado por: eldimarzioxp en Febrero 17, 2015, 09:59:16 PM
Cita de: penumbra en Febrero 17, 2015, 09:10:13 PM
¿En qué evento usas el código que pegaste? Nunca he usado esos efectos, pero ¿por qué estás usando una condición basada en un número aleatorio?
[/quote
Lo uso en el evento "CREATE" y uso ese numero aleatorio por que no se me ocurre otra forma de hacer que llueva al azar y con este metodo hay 1 posibilidad de 100 de que llueva. Si sabes otro metodo me encantaría probarlo
Título: Re:¿LLuvia random?
Publicado por: penumbra en Febrero 17, 2015, 10:03:39 PM
Creo que el error es que el código está en CREATE. Mueve el código a STEP, supongo que así se ejecutaría de vez en cuando (quizás también haya que modificar la probabilidad)
Título: Re:¿LLuvia random?
Publicado por: eldimarzioxp en Febrero 17, 2015, 10:19:19 PM
Cita de: penumbra en Febrero 17, 2015, 10:03:39 PM
Creo que el error es que el código está en CREATE. Mueve el código a STEP, supongo que así se ejecutaría de vez en cuando (quizás también haya que modificar la probabilidad)
El tema es que se ejecuta correctamente pero solo llueven unas gotas y para de llover yo quiero que llueva no se 3 minutos o así y después pare hasta que vuelva a salir...
Título: Re:¿LLuvia random?
Publicado por: penumbra en Febrero 17, 2015, 10:59:42 PM
Acabo de probar la función. Mientras esté en CREATE, no va a funcionar como quieres, porque sólo se ejecuta una vez, al principio

CREATE[gml]
llover = 1
alarm[0] = room_speed * irandom_range(5, 15)[/gml]

ALARM[0]
[gml]
randomize()
var azar = irandom_range(1, 3)
if (azar == 2)
    llover = 1
else
    llover = 0
   
alarm[0] = room_speed * irandom_range(5, 15)
[/gml]

STEP
[gml]
if (llover)
    effect_create_below(ef_rain, x, y, 0, c_aqua);
[/gml]

Eso hace que por momentos llueva y por momentos no llueva. El ejemplo es sencillo, se puede modificar para controlar la duración de la lluvia y la duración de la "no lluvia" (espera entre lluvias)

Por cierto, no vuelvo a usar este efecto, a mi me mareó @_@ (quizás porque no había nada en la habitación, sólo el efecto)
Título: Re:¿LLuvia random?
Publicado por: eldimarzioxp en Febrero 17, 2015, 11:05:04 PM
Muchas gracias. Solucionado, ahora haber si puedo ponerle más tiempo a la lluvia haha.