Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: gonzakisty en Agosto 19, 2015, 10:04:28 PM

Título: no volver hacia atras
Publicado por: gonzakisty en Agosto 19, 2015, 10:04:28 PM
Hola estaba haciendo un juego de plataformas estilo mario bros

queria saber como podia hacer que cuando camines hacia la derecha la view te siga y si volves hacia la izquierda no te deje salir de la view, como chocar con una pared
(que la view solo te siga hacia la derecha y no puedas volver por donde viniste)
Título: Re:no volver hacia atras
Publicado por: kostra en Agosto 21, 2015, 09:02:16 AM
se me ocurre...

crea un obj_cam, en step ponle:
if x < obj_player.x x = obj_player.x;

y vas y le asignas la view a este objeto...
FIN XD

para evitar que el player se salga por atras, coloca un solido que siga al obj_cam a la distancia por detras que desees, por ejemplo .-.
Título: Re:no volver hacia atras
Publicado por: Jucarave en Agosto 21, 2015, 01:28:41 PM
Podrías hacerlo así:

Haz que la view no siga al personaje y en cambio coloca esto en el evento create del personaje:

[gml]
// EV_CREATE:
view_max_x = view_xview[0];
[/gml]

y en el step

[gml]
// EV_STEP:
var xx = x - view_wview[0] / 2; // Considerando que quieras que el personaje este en el centro de la view
view_max_x = max(xx, view_max_x);
view_xview[0] = view_max_x;
[/gml]

Esto hará que la view solo se mueva a la derecha, si quieres detener al personaje para que no avance hacia la izquierda (y se salga de la view) puedes poner un solido o controlarlo por código, depende de como estes trabajando las colisiones

Saludos 8)

EDIT: Gracias penumbra, error de tipeo, ya quedó corregido
Título: Re:no volver hacia atras
Publicado por: penumbra en Agosto 21, 2015, 08:47:12 PM
Hay una variable view_max_x y otra max_view_x?