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.
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.
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.
¿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?
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
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)
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...
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)
Muchas gracias. Solucionado, ahora haber si puedo ponerle más tiempo a la lluvia haha.