LWJGL鼠标滚轮getDWheel()方法

时间:2012-09-08 10:14:22

标签: java input lwjgl mousewheel

我在游戏中使用了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”,但是当我向上滚动时,没有任何内容被打印出来。

1 个答案:

答案 0 :(得分:5)

根据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");
   }
}