Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: pucara en Diciembre 29, 2012, 10:34:55 AM

Título: Fundir Backgrounds
Publicado por: pucara en Diciembre 29, 2012, 10:34:55 AM
Desearía poder lograr el efecto suave de transición de un fondo a otro (en tiempo de ejecución), por ejemplo de atardecer a noche cerrada. Probé varias funciones pero me quedó espantoso.
Quizás usando la paleta de colores, no sería necesario usar distintos fondos, aunque no lo descarto. Cualquier propuesta es bienvenida.

¿alguien puede aportar alguna idea?

Gracias por adelantado  8)
Título: Re:Fundir Backgrounds
Publicado por: ThreeBox en Diciembre 29, 2012, 10:58:25 AM
Puedes utilizar lo que es el alpha en el dibujo para crear el efecto. Te adjunto un ejemplo.

Espero te sea util. Saludos. :) :)
Título: Re:Fundir Backgrounds
Publicado por: pucara en Diciembre 29, 2012, 11:13:26 AM
Gracias por tu pronta respuesta, lo pruebo en cuanto llegue a casa ya que ahora, como ves.. estoy trabajando  8)

Espero que sea en gm7!

Saludos  8)
Título: Re:Fundir Backgrounds
Publicado por: ThreeBox en Diciembre 29, 2012, 11:22:23 AM
=O Esta en  :GM8: pero publico el codigo. Considerando que hay un objeto que controla el cambio de fonto:

Create:
alpha = 0;//Variable que controla la transición del dibujo.
sentido = -1;//Indica en que sentido va la animación.
//  1: de Noche a Dia.
// -1: de Día a Noche.


Step:
//Realiza la animación mientras el alpha no sea de noche o de día.
//0.05 es la velocidad de transición.
if(alpha!=0 && alpha!=1)
    alpha+=0.05*sentido;
if(keyboard_check_pressed(vk_space))
{
    sentido*=-1;//Cambia el sentido.
    alpha+=0.05*sentido;//Comienza la transición.
}


Draw:
//Dibuja ambos background usando valores opuestos de alpha.
draw_background_ext(bkDia,0,0,1,1,0,c_white,alpha);
draw_background_ext(bkNoche,0,0,1,1,0,c_white,1-alpha);


Solo tendrias que adecuar el bkDia y bkNoche
Título: Re:Fundir Backgrounds
Publicado por: pucara en Diciembre 29, 2012, 11:35:07 AM
Gracias de nuevo  8)