#java #android-studio #onkeydown #onkeyup
#Ява #android-студия #onkeydown #onkeyup
Вопрос:
Я пытаюсь закодировать простые элементы управления wasd в Android studio. Я пытался использовать onKeyDown и onKeyUp для перемещения моего персонажа во время нажатия клавиши, установив onKeyDown логическое значение для моего перемещения в true, а затем установив onKeyUp в false. Прямо сейчас, хотя, когда я нажимаю и удерживаю клавишу, они оба просто вызываются снова и снова, и ничего не происходит, когда я отпускаю клавишу. Я знаю, что onKeyDown должен вести себя именно так. Но почему onKeyUp делает то же самое? Вот пример моей упрощенной функции onKeyUp, которую я использую для тестирования:
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { Log.d(TAG, "onKeyUp: keycode=" keyCode ", event=" event); switch (keyCode) { case KeyEvent.KEYCODE_A: Log.d(TAG, "up key a"); break; case KeyEvent.KEYCODE_D: Log.d(TAG, "up key d"); break; default: return super.onKeyUp(keyCode, event); } return true; }
Как мне поймать, когда ключ действительно отпущен?