我的 OpenGL 程序中有这个鼠标功能:
public void mouseInput(){
int mouseX = Mouse.getX();
int mouseY = 600 - Mouse.getY();
int mouseDX = 0, mouseDY = 0;
int lastX = 0, lastY = 0;
mouseDX = mouseX - lastX;
mouseDY = mouseY - lastY;
lastX = mouseX;
lastY = mouseY;
xrot += (float) mouseDX;
yrot += (float) mouseDY;
}
我使用以下代码旋转“相机”:
glRotatef(xrot, 1.0f, 0.0f, 0.0f);
glRotatef(yrot, 0.f, 1.0f, 0.0f);
我在!DisplayIsClosedRequested
循环中调用 mouseInput() 函数。目前这会导致我的游戏崩溃,即使我没有触摸鼠标,我的相机也会到处旋转。我渲染出来的立方体也会在屏幕上随机移动。我正在使用 LWJGL,所以我不能使用任何过剩函数,如glutPassiveMotionFunc()
. 任何人都可以提供帮助吗?总的来说,我的相机非常不稳定,并且以随机模式快速旋转相机。