Veran tengo mi juego configurado basicamente con las flechas y dispara en A y ahora quiero agregarle que al apretar la tecla S el personaje no se mueva a ningun sitio al apretar las teclas de direcciones pero que si me deje disparar:(
Suponiendo que tengas todo el sistema de movimiento en un código, añade un condicionante que encierre dicho sistema.
if !keyboard_check(ord("A")) {
//todo lo que uses para moverte
}
Si lo tienes con eventos separados, tendrás que encerrar el código de cada dirección en el de arriba. Si lo ejecutas todo desde el Step Event usando Drag&Drop, lo mismo pero encerrando desde que empiece hasta que acabe.
creo que se refiere al típico juego que te mueves a 4 direcciones (player girando) y al mantener la "S" se quede quieto pero del giro, no de moverse, el típico shooter topdown que te quedas apuntando hacia un lugar pero te sigues moviendo para ser más táctico..
me equivoco anon16??
En realidad, seguramente me equivoque, más que nada porque al hablar de dos teclas distintas, y que una tecla deje quieto al player no tiene sentido, pudiendo simplemente NO CAMINAR xDD
Cita de: SarTaeL en Junio 23, 2017, 02:53:18 AM
Suponiendo que tengas todo el sistema de movimiento en un código, añade un condicionante que encierre dicho sistema.
if !keyboard_check(ord("A")) {
//todo lo que uses para moverte
}
Si lo tienes con eventos separados, tendrás que encerrar el código de cada dirección en el de arriba. Si lo ejecutas todo desde el Step Event usando Drag&Drop, lo mismo pero encerrando desde que empiece hasta que acabe.
Vale me ha servido aunque lo edite un poco y tuve que poner que la direccion se establezca aparte, me ha quedado asi:
//KEYS
key_up = keyboard_check(vk_up)
key_down = keyboard_check(vk_down)
key_right = keyboard_check(vk_right)
key_left = keyboard_check(vk_left)
//DIAGONAL DIRECTIONS
diagonal_right_up = keyboard_check(vk_right) && keyboard_check(vk_up)
diagonal_left_up = keyboard_check(vk_left) && keyboard_check(vk_up)
diagonal_right_down = keyboard_check(vk_right) && keyboard_check(vk_down)
diagonal_left_down = keyboard_check(vk_left) && keyboard_check(vk_down)
//SET DIRECTION
if (key_left){ imgdir = 4}
if (key_right){ imgdir = 3}
if (key_up){ imgdir = 2}
if (key_down){ imgdir = 1}
//MOVE
if !keyboard_check(ord("S")) {
if place_empty(x-3,y) && (key_left) {
x -= 3
animation = 1
}
if place_empty(x+3,y) && (key_right) {
x += 3
animation = 1
}
if place_empty(x,y-3) && (key_up) {
y -= 3
animation = 1
}
if place_empty(x,y+3) && (key_down) {
y += 3
animation = 1
}
}
//Animation end
if keyboard_check_released(vk_up)
{
animation = 0
}
if keyboard_check_released(vk_down)
{
animation = 0
}
if keyboard_check_released(vk_left)
{
animation = 0
}
if keyboard_check_released(vk_right)
{
animation = 0}
//ACTIVATE DIAGONAL DIRECTIONS
if (diagonal_right_up)
{
imgdir = 5;
}
if (diagonal_left_up)
{
imgdir = 6;
}
if (diagonal_right_down)
{
imgdir = 7;
}
if (diagonal_left_down)
{
imgdir = 8;
}