kriss8725 Puedes usar este codigo, en un evento step, a mi me funcionó.
if (keyboard_check(vk_up) && keyboard_check(vk_right)) //si se aprieta la flecha derecha y a la vez la de arriba
{ispeed=0;} //la velocidad se anula
else ispeed=5; //si no se aprietan los dos, la velocidad no se anula
if keyboard_check(vk_right)
x+=ispeed;
if keyboard_check(vk_left)
x-=ispeed;
if keyboard_check(vk_up)
y-=ispeed;
if keyboard_check(vk_down)
y+=ispeed;
Ojo! el código debe estar en ese orden, puesto que si primero defines los movimientos horizontales y verticales y luego haces la condición If, no va a funcionar... No se muy bien como es tu juego, pero el codigo general sería asi... y esto lo puedes extender para cuando se aprieta izquierda y arriba, abajo y derecha
if (keyboard_check(vk_up) && keyboard_check(vk_right)) //si se aprieta la flecha derecha y a la vez la de arriba
{ispeed=0;} //la velocidad se anula
else ispeed=5; //si no se aprietan los dos, la velocidad no se anula
if keyboard_check(vk_right)
x+=ispeed;
if keyboard_check(vk_left)
x-=ispeed;
if keyboard_check(vk_up)
y-=ispeed;
if keyboard_check(vk_down)
y+=ispeed;
Ojo! el código debe estar en ese orden, puesto que si primero defines los movimientos horizontales y verticales y luego haces la condición If, no va a funcionar... No se muy bien como es tu juego, pero el codigo general sería asi... y esto lo puedes extender para cuando se aprieta izquierda y arriba, abajo y derecha