Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Jangse en Diciembre 26, 2013, 08:21:26 PM

Título: Ajustar al grid con GML
Publicado por: Jangse en Diciembre 26, 2013, 08:21:26 PM
Hola!

Pues antes de preguntar (y que aun no domino GML) le he estado dando vueltas. Y también me he mirado el tema de funciones y tal. Pero claro, no sé cual aplicar o en que evento situarla.

Quiero que el personaje al parar se sitúe correctamente en el grid (32x32). De esa forma, no se queda trabado entre los muros del laberinto. Hace tiempo me salio por medio de D&D. Pero con GML no me aclaro.

En el evento step he creado este code:

if keyboard_check(vk_left) then x-=4;
if keyboard_check(vk_right) then x+=4;
if keyboard_check(vk_up) then y-=4;
if keyboard_check(vk_down) then y+=4;


Y por lo que he leído hay que utilizar la función:

move_snap(hsnap,vsnap)

En otro vídeo que he visto primero lo chequean con:

if (place_snapped(32,32))

Pues todo esto no se como ubicarlo para que funcione  :-[
Título: Re:Ajustar al grid con GML
Publicado por: Black_Cat en Diciembre 28, 2013, 05:43:30 PM
Una forma robusta de hacer que el personaje se alinee cuando deje de moverse sería poniendo en el evento Step:
[gml]
if keyboard_check(vk_left) then x-=4;
if keyboard_check(vk_right) then x+=4;
if keyboard_check(vk_up) then y-=4;
if keyboard_check(vk_down) then y+=4;

if ((!keyboard_check(vk_left))
&& (!keyboard_check(vk_right))
&& (!keyboard_check(vk_down))
&& (!keyboard_check(vk_up)))
{
    if (!place_snapped(32,32)) // Aqui verifica, "Sí no está alineado" en la grid de 32x32
        move_snap(32,32); //entonces lo alineamos a la grid de 32x32
}[/gml]

Título: Re:Ajustar al grid con GML
Publicado por: Jangse en Diciembre 28, 2013, 05:49:04 PM
Muchas gracias, Black.