Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: OmarMakero en Mayo 23, 2020, 03:36:55 PM

Título: Hacer que la view se mueva lentamente
Publicado por: OmarMakero en Mayo 23, 2020, 03:36:55 PM
Hola comunidad GM 8).

Tengo una pregunta acerca de las views. Lo que pasa es que en mi juego, intento que al entrar por una puerta la view se mueva a la siguiente parte de la view, pero no se como hacer para que se mueva lentamente.

Además aprovecho para saber si es posible hacer esto pero con diferentes rooms, o sea, que salgas de la room y la view se translade a la otra room como si fuera parte de la misma, no se si me explico :-[.

Bueno, eso es todo por ahora, espero que me ayuden con mi problema. Gracias de Antemano :D :D
Título: Re:Hacer que la view se mueva lentamente
Publicado por: Clamud en Mayo 23, 2020, 06:23:47 PM
Para la view debes usar variables que indiquen la posición final y luego desplazar la view poco a poco desde la posición actual hasta la posición final.
Para ello puedes usar la función lerp
https://www.comunidadgm.org/desarrollo-de-scripts/interpolacion-lineal-en-gm8/
[gml]
view_xview[0] = lerp(x_inicial, x_final, t);
view_yview[0] = lerp(y_inicial, y_final, t);
t += 0.05;
if (t > 1) t = 1;
[/gml]
la variable t va de 0 a 1, incrementando un poco en cada step.

Para hacer el cambio entre rooms lo más fácil es utilizar las transiciones predefinidas. Las transisiciones solo funcionan en GM8, se eliminaron en GMS.
Al cambiar de room, debes guardar en varibles globales la posición en la que debe aparecer el personaje en la siguiente room
[gml]
if (room == rm0) {//primera room
    if (x > room_width) {//si se sale de la room por la derecha
        transition_kind = 15; //Push from right
        transition_steps = room_speed * 0.5; //duración de la transición
        global.xx = 0; //posición en la que va a aparecer
        global.yy = y;
        room_goto(rm1); //cambiar de room
    }
}
[/gml]
Adjunto un ejemplo.
Título: Re:Hacer que la view se mueva lentamente
Publicado por: OmarMakero en Mayo 23, 2020, 07:39:41 PM
Muchas Gracias, era justo lo que necesitaba.

Hasta el proximo post  8) :D :D