Я создаю простую игру с функциями для перемещения игрока вперед, поворота влево, поворота вправо или поворота. Я хочу, чтобы нажатия клавиш запускали соответствующую функцию только один раз. Я нашел этот полезный код, который запускает событие только один раз, но я не могу понять, как определить определенные нажатия клавиш внутри него.
var shouldHandleKeyDown = true;
document.onkeydown = function(){
if (!shouldHandleKeyDown) return;
shouldHandleKeyDown = false;
// HANDLE KEY DOWN HERE
}
document.onkeyup = function(){
shouldHandleKeyDown = true;
}
})();
То, что я пытаюсь сделать, это:
Пользователь нажимает?
Функция перемещения вперед происходит ОДИН РАЗ (даже если удерживать клавишу «вверх»)
Пользователь нажимает слева? Поворот влево происходит один раз и т. Д ....
Спасибо всем за любую помощь в этом.
РЕДАКТИРОВАТЬ ДЛЯ УТОЧНЕНИЯ:
Я пытаюсь создать сканер от первого лица в стиле старых названий, таких как Wizardry для NES. По сути, я хочу, чтобы каждое нажатие кнопки «вперед» двигало игрока вперед на один кадр. Если они нажимают влево, то игрок поворачивается влево на один кадр и т. Д. Если вы знакомы с играми, вы поймете, что я имею в виду.