Как получить ввод с клавиатуры пользователя асинхронно в C # / asp.Net / Razor - PullRequest
0 голосов
/ 06 июля 2019

Я работаю над простым игровым клоном pacman. Единственное, с чем у меня проблема, это как получить ввод от пользователя через клавиатуру, чтобы изменить направление pacman (влево, вправо, вверх, вниз).

В настоящее время я использую html-кнопки, чтобы перенаправить окно к действию, которое изменяет переменную в «базовом» классе. Это работает, но не всегда. Pacman перемещается через функцию тайм-аута javascript, где каждые 250 миллисекунд pacman перемещается в направлении, которое хранится в указанной переменной. Иногда возникает проблема с фиксацией нажатия кнопки. (Я думаю, из-за тайм-аута JS) Любая помощь оценена!

Упомянутый код JS:

<script type="text/javascript">
     setTimeout(function () {
                     window.location.href = '/Home/Move';
                }, 250);
</script>

enter image description here

1 Ответ

1 голос
/ 06 июля 2019

Попробуйте это:

document.onkeydown = function(e) {

    if (e.keyCode == '38') {
        // up arrow
    }
    else if (e.keyCode == '40') {
        // down arrow
    }
    else if (e.keyCode == '37') {
       // left arrow
    }
    else if (e.keyCode == '39') {
       // right arrow
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...