Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: HKaichim en Octubre 02, 2018, 03:48:11 AM

Título: Crear efecto de dia, tarde y noche
Publicado por: HKaichim en Octubre 02, 2018, 03:48:11 AM
Hola amigos :D tengo un minijuego que estoy haciendo para mi madre, el juego es casi a estilo "Age of Empire", pero mas basico en misiones como construir casas, mejorarlas, cortar madera, ETC.... bueno a lo iba y como lo dice e titulo: Tengo una variable que convierte un Sprite de dia a tarde y este nuevamente a noche y me gustaria que cuando ocurriese esto se oscureciera y luego se aclarara...
Título: Re:Crear efecto de dia, tarde y noche
Publicado por: Hezz en Octubre 02, 2018, 05:25:34 PM
Hola HKaichim! Si lo que querés hacer es un efecto de "sombra nocturna", como que se oscurece el entorno, podés intentar dibujar un rectángulo en las coordenadas de la cámara y que tenga un alpha:
DRAW GUI
[gml]
draw_rectangle(0,0,view_wview[0],view_hview[0]);[/gml]

En el valor de alpha podés hacer algo como esto:
[gml]//En el momento en que sepas que comienza el atardecer...
if (tiempo == atardecer){
    //Poner alpha
    tiempo_alpha++;
    draw_set_alpha(tiempo_alpha * 0.01);
}[/gml]
Esto va a hacer que a cada step se le añada 1 a la variable y luego se le multiplique por 0.01 para reducir su valor en el alpha, ya que tiene un rango 0-1 (0 no se ve el rectángulo, 1 se ve completamente el rectángulo). Estos valores modificalos a tu gusto o necesidad.
Título: Re:Crear efecto de dia, tarde y noche
Publicado por: somnus en Octubre 05, 2018, 08:01:11 PM
complementando lo que puso hezz, puedes Tambien dibugar una imagen con un color dado, yo cree algo similar con un sprite de 2 frames donde el sprite es del tamano del view, 1 frame para el atardecer, que por lo general es un color Amarillo-anaranjado y otro para la noche que es un color Azul oscuro ( tu checas los colores segun te guste el efecto ), tienes que mostrar estas imagenes con un alpha, el alpha y el color de la imagen, va a cambiar el color del juego, dando la impression de que anochecio o atardecio.