Hola a todos estoy creando un juego de RPG, y quería preguntarles si es posible que mi personaje se pueda mover en casillas de 32x32.
Si es que se puede, como lo harían.
Gracias desde ya.

Check this :D

if place_snapped(32,32)
speed=0

if place_snapped(32,32)
{
if keyboard_check_pressed(vk_left)
{direction=180 speed=2}

if keyboard_check_pressed(vk_right)
{direction=0 speed=2}

if keyboard_check_pressed(vk_up)
{direction=90 speed=2}

if keyboard_check_pressed(vk_down)
{direction=270 speed=2}
}


Sabrias cambiar el sprite no? me avisas si necesitas ayuda

PD: Viva game maker 8!!!

Cita de: TLT96 en Enero 03, 2014, 05:01:36 PM
Check this :D

if place_snapped(32,32)
speed=0

if place_snapped(32,32)
{
if keyboard_check_pressed(vk_left)
{direction=180 speed=2}

if keyboard_check_pressed(vk_right)
{direction=0 speed=2}

if keyboard_check_pressed(vk_up)
{direction=90 speed=2}

if keyboard_check_pressed(vk_down)
{direction=270 speed=2}
}


Sabrias cambiar el sprite no? me avisas si necesitas ayuda

PD: Viva game maker 8!!!


Hola, muchas gracias, lo he probado y me va de maravilla.
Pero antes quería preguntar algo mas:

¿Por que cuando pones?
if place_snapped(32,32)
speed=0
¿No pones los corchete, para abrir y cerrar?
Y también abajo pusiste:
if place_snapped(32,32)
Sin poner la condición y nada.
Bueno solo eso, es que estoy aprendiendo GML, y me entro esa duda, ya que no se xD, Gracias  :D

Con gusto te explico :D, usare colores ;P

if place_snapped(32,32)
speed=0


if place_snapped(32,32)
{
if keyboard_check_pressed(vk_left)
{direction=180 speed=2}

if keyboard_check_pressed(vk_right)
{direction=0 speed=2}

if keyboard_check_pressed(vk_up)
{direction=90 speed=2}

if keyboard_check_pressed(vk_down)
{direction=270 speed=2}


Ok, los corchetes son para realizar mas de una accion EJ:

Si quieres que cuando posea un sprite, cambie a otro puedes hacerlo asi
if sprite_index=Caminar
sprite_index=Correr

Pero nadie te prohibe que lo hagas asi

if sprite_index=Caminar
{sprite_index=Correr}

En cambio si quieres realizar mas de una accion, tendras que usar los corchetes si o si, EJ:
if sprite_index=Caminar
{sprite_index=Correr x+=5}


Ok, como cualquier cosa de programacion (Hasta los que he probado) mayormente funcionan desde la primera linea hasta la ultima

Oseaa...... en el codigo dije que cuando:
if place_snapped(32,32)
speed=0

Si esta en la casilla 32x32 la velocidad se volvera a 0 (Quieto)

Eso se realizara primero, despues vendra

if place_snapped(32,32)
{
if keyboard_check_pressed(vk_left)
{direction=180 speed=2}

if keyboard_check_pressed(vk_right)
{direction=0 speed=2}

if keyboard_check_pressed(vk_up)
{direction=90 speed=2}

if keyboard_check_pressed(vk_down)
{direction=270 speed=2}
}

Que si estas en una casilla de 32x32 puedes presionar una tecla para que la velocidad aumente, en este caso es 2, el personaje pasara de 32x32 a 32x34 por ejemplo, despues vuelve al evento

if place_snapped(32,32)
speed=0

Y asi infinitamente :3

Cuando pasa a esa linea, al no ser 32x32 se seguira moviento hasta que alcanze esas coordenadas


Perdon por mi explicacion, esperemos que alguien te pueda dar una mas detallada y entendible xDD

Uh! buenísimo muchas gracias  :D
Me haz sacado todas mis dudas, la verdad que me ayudo muchísimo, Es mas eh logrado todo lo que tenia planeado hacer.
Saludos!

Yo, en vez de corchetes, suelo encerrar mas de una sentencia en:

begin
...
...
...
end;

Suelo utilizar el Pascal  :-[