Нажатие и удерживание клавиши в LWJGL
Я использую LWJGL и хочу, чтобы событие быстро происходило, когда я нажимаю и удерживаю клавишу (например, удерживаю буквенную клавишу в слове).
Это моя попытка:
while(Keyboard.next())
{
if (Keyboard.getEventKeyState())
{
if (Keyboard.isKeyDown(Keyboard.KEY_UP))
{
i += 5.0f;
}
if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT))
{
i -= 1.0f;
}
}
}
2 ответа
Решение
Я ответил на свой вопрос, используя робота и нить при нажатии:
if (Keyboard.isKeyDown(Keyboard.KEY_DOWN))
{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_DOWN);
zpos -= 0.1f;
Thread.sleep(100);
robot.keyRelease(KeyEvent.VK_DOWN);
}
if (Keyboard.getEventKeyState())
работает только при нажатии клавиши.
Для удержания используйте булево / целое число, чтобы записать, должен ли ваш игровой цикл увеличиваться или уменьшаться i
,