1

我在我的游戏中使用 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... 无论我做什么,只有向下滚动有效。

编辑:当我向下滚动游戏时,它会打印“DOWN”,但是当我向上滚动游戏时,什么都不会打印。

4

1 回答 1

6

根据 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");
   }
}
于 2012-09-09T18:07:25.883 回答