2013-02-18 171 views
0

我有以下代碼:LWJGL鍵盤和鼠標檢測按

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

我使用的擺動按鈕,讓用戶輸入按鍵(按下按鈕,然後按需要的鍵)。

這給了我兩個問題:第一個鼠標總是返回0,但是文檔說,如果沒有按下任何東西,它應該返回-1。 我想這可能是因爲搖擺的按鈕,也許,但建立一個新的線程,首先做一個睡眠也不起作用,平原丟棄第一個按下工作。

其次,鍵盤檢測似乎不起作用。它沒有檢測到任何印刷機。

回答

0

顯然LWJGL需要顯示激活,並且無法通過活動的Swing窗口捕捉按鍵。

+0

這很有趣。您是否介意發佈更爲正式的描述,以說明爲什麼LWJGL需要使顯示器處於活動狀態,或者爲您找到此信息的位置提供文檔資料? – 2017-07-07 12:09:34

+0

這真的很久以前,所以這就是我所能記得的。我有一個設置彈出窗口,並抓住了按鍵/鼠標等,並確定哪個按鍵被按下(按下按鈕設置「動作」 - >然後按下一個鍵)。 LibGDX沒有捕獲到鍵/事件,因爲彈出窗口有焦點。我最終解決了這個問題,彈出窗口完好無損,但不能完全記得。我認爲如果LWJGL窗口沒有最小化,它可能就足夠了。 – RobotRock 2017-07-07 16:24:23

+0

好的,謝謝你試圖回憶!對不起,我沒有注意到發佈日期很久以前。 – 2017-07-07 16:27:37