Java LWJGL我的相机类停止旋转

Java LWJGL我的相机类停止旋转,java,opengl,3d,lwjgl,Java,Opengl,3d,Lwjgl,我正在为我的3D游戏编写一个摄像头类。我实现了一种在达到360度后将y旋转重置为0的方法,但由于某种原因,在我旋转3或4次后,我的角色就停止转动。。。我不知道为什么!以下是我认为问题所在的源代码: mouseX = Mouse.getX(); mouseY = Mouse.getY(); float finalMouseX = (mouseX - previousMouseX); float finalMouseY = (mous

我正在为我的3D游戏编写一个摄像头类。我实现了一种在达到360度后将y旋转重置为0的方法,但由于某种原因,在我旋转3或4次后,我的角色就停止转动。。。我不知道为什么!以下是我认为问题所在的源代码:

        mouseX = Mouse.getX();
        mouseY = Mouse.getY();

        float finalMouseX = (mouseX - previousMouseX);
        float finalMouseY = (mouseY - previousMouseY);

        if (rotation.y + finalMouseX >= 360) {

            rotation.y = rotation.y + finalMouseX - 360;

        } else if (rotation.y + finalMouseX < 0) {

            rotation.y = 360 - rotation.y + finalMouseX;

        } else {

            rotation.y += finalMouseX;

        } 

        if (rotation.x - finalMouseY >= -89 && rotation.x - finalMouseY <= 89) {

            rotation.x += -finalMouseY;

        } else if (rotation.x - finalMouseY < -89) {

            rotation.x = -89;

        } else if (rotation.x - finalMouseY > 89) {

            rotation.x = 89;

        }
mouseX=Mouse.getX();
mouseY=Mouse.getY();
float finalMouseX=(mouseX-previousMouseX);
float finalMouseY=(mouseY-previousMouseY);
如果(旋转.y+finalMouseX>=360){
rotation.y=rotation.y+finalMouseX-360;
}否则如果(旋转y+最终鼠标X<0){
rotation.y=360-rotation.y+finalMouseX;
}否则{
旋转.y+=最终鼠标X;
} 
if(rotation.x-finalMouseY>=-89&&rotation.x-finalMouseY 89){
旋转x=89;
}

我认为在这种情况下,你应该发布一篇文章,因为它有一个巨大的体素库和文件加载功能。。。我可以试试。至少发布这个类的全部代码,调用这个方法的代码不应该是a+,而不是360后的a-,在第一个里面?@DavidWallace:我建议发布这个作为答案。