Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: [Solucionado]¿LLuvia random?  (Leído 838 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado eldimarzioxp

  • Habitual
  • *
  • Puntos: 56
  • Mensajes: 36
  • Creador de páginas web y aprendiz de GML
    • Ver Perfil
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:
Código: [Seleccionar]
   randomize ();
   lluvia = irandom_range(1,100)
   
        if lluvia = 5 effect_create_below(ef_rain,x,y,1,c_aqua);
Un saludo.
« última modificación: Febrero 17, 2015, 11:05:19 pm por eldimarzioxp »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado kaliman777

Respuesta #1 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:
Código: [Seleccionar]
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.

La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.
 


Desconectado eldimarzioxp

  • Habitual
  • *
  • Puntos: 56
  • Mensajes: 36
  • Creador de páginas web y aprendiz de GML
    • Ver Perfil
Respuesta #2 en: Febrero 17, 2015, 08:12:42 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.

 


Desconectado penumbra

Respuesta #3 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?

 


Desconectado eldimarzioxp

  • Habitual
  • *
  • Puntos: 56
  • Mensajes: 36
  • Creador de páginas web y aprendiz de GML
    • Ver Perfil
Respuesta #4 en: Febrero 17, 2015, 09:59:16 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

 


Desconectado penumbra

Respuesta #5 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)

 


Desconectado eldimarzioxp

  • Habitual
  • *
  • Puntos: 56
  • Mensajes: 36
  • Creador de páginas web y aprendiz de GML
    • Ver Perfil
Respuesta #6 en: Febrero 17, 2015, 10:19:19 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...

 


Desconectado penumbra

Respuesta #7 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
llover = 1
alarm[0] = room_speed * irandom_range(5, 15)

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

STEP
if (llover)
    effect_create_below(ef_rain, x, y, 0, c_aqua);

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)
« última modificación: Febrero 17, 2015, 11:02:00 pm por penumbra »

 


Desconectado eldimarzioxp

  • Habitual
  • *
  • Puntos: 56
  • Mensajes: 36
  • Creador de páginas web y aprendiz de GML
    • Ver Perfil
Respuesta #8 en: Febrero 17, 2015, 11:05:04 pm
Muchas gracias. Solucionado, ahora haber si puedo ponerle más tiempo a la lluvia haha.