1

私は次のようにゲームでgetDWheelメソッドを使用します。

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

入力を確認するたびにこのメソッドを呼び出します。スクロールホイールを使用すると、プログラムは上にスクロールしたときに下の部分にしか到達しません。ifには入りません...何をしても、下にスクロールするだけで機能します。

編集:ゲーム内で下にスクロールすると「下」と印刷されますが、ゲーム内で上にスクロールすると何も印刷されません。

4

1 に答える 1

6

javadocによると、Mouse.getDWheel()「前回getDWheel()が呼び出されてからのホイールの動きを返します」

したがって、最初に呼び出すと、情報は「クリア」されるため、2回目の呼び出しでは常に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 に答える