Java OpenGL中的FPS鼠标移动(即使在窗口外)
我正在创建一个简单的FPS游戏,其中相机的移动由鼠标控制。当相机在窗口内时,用鼠标移动相机相当简单。但是,即使我不在窗外,我怎么能让它工作呢 我听说过一些关于将鼠标固定在屏幕中央的事情,但我不知道如何让它工作 我目前有以下情况:Java OpenGL中的FPS鼠标移动(即使在窗口外),java,opengl,jogl,Java,Opengl,Jogl,我正在创建一个简单的FPS游戏,其中相机的移动由鼠标控制。当相机在窗口内时,用鼠标移动相机相当简单。但是,即使我不在窗外,我怎么能让它工作呢 我听说过一些关于将鼠标固定在屏幕中央的事情,但我不知道如何让它工作 我目前有以下情况: public void mouseMoved(MouseEvent event) { x = X; y = Y; X = event.getX(); Y = event.getY(); } public void update() {
public void mouseMoved(MouseEvent event) {
x = X;
y = Y;
X = event.getX();
Y = event.getY();
}
public void update() {
dX = X - x;
dY = Y - y;
x = X;
y = Y;
}
您需要在窗口中“捕获”鼠标,通常是在鼠标按下时(不要忘记释放它)
您需要在窗口中“捕获”鼠标,通常是在鼠标按下时(不要忘记释放它)
我听说过一些关于将鼠标固定在屏幕中央的事情,但我不知道如何让它工作
这是一种非常常见的方法。在您检查了鼠标的移动量并将该信息用于相机移动后,只需将光标移回屏幕中心即可
考虑一下这样的情况:
Vec2 mouseDelta = getMousePosition();
camera.CalculateMovement(mouseDelta);
setMousePosition(0, 0);
我听说过一些关于将鼠标固定在屏幕中央的事情,但我不知道如何让它工作
这是一种非常常见的方法。在您检查了鼠标的移动量并将该信息用于相机移动后,只需将光标移回屏幕中心即可
考虑一下这样的情况:
Vec2 mouseDelta = getMousePosition();
camera.CalculateMovement(mouseDelta);
setMousePosition(0, 0);