2012-09-08 86 views
1

我使用getDWheel方法在我的遊戲,像這樣:LWJGL鼠標滾輪getDWheel()方法

public void checkMouseWheel() { 
if (highLight != null) { 
    if (Mouse.getDWheel() < 0) { 
     System.out.println("DOWN"); 
    } 
    if (Mouse.getDWheel() > 0){ 
     System.out.println("UP"); 
    } 
} 

我把這種方法每次我檢查輸入時間。當我使用滾輪時,程序只能在向上滾動時到達DOWN部分,它不會進入if ...無論我做什麼,只有向下滾動才起作用。

編輯:當我向下滾動遊戲時,它會打印「向下」,但當我向上滾動遊戲時,什麼都不打印。

+0

問題是什麼? –

+0

編輯。滾動不起作用。 – MxR

回答

4

據javadoc的,Mouse.getDWheel()「自從上次getDWheel返回車輪的運動()被稱爲」

所以,當你調用它的第一次,信息是「清除出去」,因此總是會爲第二個呼叫返回0。試試這個小修改來修復它:

public void checkMouseWheel() { 
if (highLight != null) { 
    int dWheel = Mouse.getDWheel(); 
    if (dWheel < 0) { 
     System.out.println("DOWN"); 
    } else if (dWheel > 0){ 
     System.out.println("UP"); 
    } 
}