Diciembre 29, 2013, 05:55:19 PM Ultima modificación: Diciembre 29, 2013, 06:07:16 PM por venus
Mi personaje tiene la habilidad de moverse a norte, sur, este y oeste con sus respectivas flechas. Pero ¿Como hago para que se mueva hacia las esquinas (noroeste, suroeste, noreste y sureste) pulsando sus respectivas flechas? Es decir que si pulso '→' + '↑' voy al noreste. Uso el evento de pulsar (y no mantener pulsando) una tecla.
Ahora si.

En mi opinión lo mejor sería hacerlo todo desde el evento <step> en vez de usar los eventos de las teclas porque así puedes poner el código:


if keyboard_check_pressed(vk_right)=true and keyboard_check_pressed(vk_left)=false and keyboard_check_pressed(vk_up)=false and keyboard_check_pressed(vk_down)=false
{
//DERECHA
}
else
if keyboard_check_pressed(vk_right)=false and keyboard_check_pressed(vk_left)=true and keyboard_check_pressed(vk_up)=false and keyboard_check_pressed(vk_down)=false
{
//IZQUIERDA
}
else
if keyboard_check_pressed(vk_right)=false and keyboard_check_pressed(vk_left)=false and keyboard_check_pressed(vk_up)=true and keyboard_check_pressed(vk_down)=false
{
//ARRIBA
}
else
if keyboard_check_pressed(vk_right)=false and keyboard_check_pressed(vk_left)=false and keyboard_check_pressed(vk_up)=false and keyboard_check_pressed(vk_down)=true
{
//ABAJO
}
else
if keyboard_check_pressed(vk_right)=true and keyboard_check_pressed(vk_left)=false and keyboard_check_pressed(vk_up)=true and keyboard_check_pressed(vk_down)=false
{
//DERECHA Y ARRIBA
}
else
if keyboard_check_pressed(vk_right)=true and keyboard_check_pressed(vk_left)=false and keyboard_check_pressed(vk_up)=false and keyboard_check_pressed(vk_down)=true
{
//DERECHA Y ABAJO
}
else
if keyboard_check_pressed(vk_right)=false and keyboard_check_pressed(vk_left)=true and keyboard_check_pressed(vk_up)=true and keyboard_check_pressed(vk_down)=false
{
//IZQUIERDA Y ARRIBA
}
else
if keyboard_check_pressed(vk_right)=false and keyboard_check_pressed(vk_left)=true and keyboard_check_pressed(vk_up)=false and keyboard_check_pressed(vk_down)=true
{
//IZQUIERDA Y ABAJO
}
else
{
//NINGUNO
}


Y ahora sí que va para las 8 direcciones.


Espero haberte ayudado, saludos!