Я пытаюсь написать фрагмент кода, чтобы при нажатии клавиши он выполнял что-то, но затем ключ должен быть освобожден, а затем снова подавлен, чтобы перезапустить событие. Поэтому, если пользователь просто удерживает ключ, он не будет продолжать делать это снова и снова, вместо этого им придется многократно нажимать и отпускать.
До сих пор у меня есть:Основные проблемы с булевыми состояниями
if(keyLifted)
{
if(Keyboard.isKeyDown(45))
{
keyLifted = false;
dostuff;
}
else if(Keyboard.isKeyDown(46))
{
keyLifted = false;
dostuff();
}
else
{
keyLifted = true;
}
}
но это испорчено по очевидным причинам (это будет только сбросить ключ к unlifted если ключ уже снят: если клавиша была нажата, он не будет установлен нажато). Я попробовал пару вариантов, но я просто не могу заставить его работать.
Заранее благодарим за любую помощь!
Почему вы не принимаете события нажатия клавиш и keyrelease для обработки изменений статуса клавиатуры? – keltar
@ user1296964 Пожалуйста, сделайте * not * добавьте теги для языков, отличных от того, который вы используете. Тег спама не менее груб, чем спам электронной почты :) –
Спасибо Keltar. Похоже, глупый набросок, но я так устал, что, вероятно, просто посмотрел бы на код в течение часа, а потом отказался, а не увидел это :) – Htuy