0

次のコードがあります。

private int getKeyboardKeyPressed() {
    while (Keyboard.next()) {
        if (Keyboard.getEventKeyState()) {
            int key = Keyboard.getEventKey();
            if (key == Keyboard.KEY_ESCAPE)
                return -1;

            return key;
        }
    }
    return -1;
}

private int getMouseKeyPressed() {
    return Mouse.getEventButton();
}

スイングボタンを使用して、ユーザーがキープレスを入力できるようにします (ボタンを押してから、目的のキーを押します)。

これにより、2 つの問題が発生します。最初のマウスは常に 0 として返されますが、何も押されていない場合は -1 を返す必要があるとドキュメントに記載されています。これはおそらくswingのボタン押下が原因である可能性があると考えましたが、最初にスリープする新しいスレッドを設定しても機能せず、最初のプレスを単純に破棄しても機能しません。

次に、キーボード検出がまったく機能していないようです。プレスを検出しません。

4

1 に答える 1

0

どうやら LWJGL はディスプレイをアクティブにする必要があり、アクティブな Swing ウィンドウからキーをキャッチすることはできません。

于 2013-02-24T19:04:24.717 に答える