在LWJGL中按住一个键

时间:2012-10-02 22:30:41

标签: java keyboard key lwjgl tapandhold

我正在使用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 个答案:

答案 0 :(得分:0)

if (Keyboard.getEventKeyState())仅在按下某个键时运行。

要按住,请使用布尔/整数来记录您的游戏循环是增加还是减少i

答案 1 :(得分:0)

我在按下时使用机器人和线程回答了我自己的问题:

        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);
        }