我正在为我的 3D 游戏编写一个 Camera 类。我实现了一种在达到 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;
}