Нажатие и удерживание клавиши в 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,

Другие вопросы по тегам