LWJGL鼠标滚轮输入

3

我想知道如何使用LWJGL的鼠标类实现以下操作:

  • 当鼠标滚轮向下滚动时
  • 当鼠标滚轮向上滚动时
  • 当鼠标滚轮被按下时

感谢您的帮助!

2个回答

5
对于LWJGL 3,您可以这样做。
import org.lwjgl.glfw.GLFW;
import org.lwjgl.glfw.GLFWScrollCallback;

// ...

float mouseWheelVelocity = 0;

GLFW.glfwSetScrollCallback(windowId, new GLFWScrollCallback() {
    @Override public void invoke (long win, double dx, double dy) {
        System.out.println(dy);
        mouseWheelVelocity = (float) dy;
    }
});

请将windowId变量替换为您自己的变量。确保它在此时被初始化。然后,您可以保存dy参数,该参数显示鼠标滚轮旋转的变化(+1和-1)。


3

根据lwjgl javadoc的规定,尝试调用以下方法:

    Mouse.getDWheel(); // Scroll amount
    Mouse.isButtonDown(2); // Scroll wheel pressed?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接