我一直在使用SFML 1.6和OpenGL,这是非常愉快的经历!但有一个问题:我似乎无法正确实现一个摄像机类。我试图创建一个名为“Camera”的C++类。下面是我的函数:
Camera::Strafe(float fSpeed)
检查WASD键是否按下,如果按下,则将相机沿着它们各自的方向以“fSpeed”移动。
Camera::MouseMove(int currentX, int currentY)
应该提供第一人称鼠标视角,接收当前鼠标坐标并相应地旋转相机。我的Strafe()实现很好用,但我似乎无法正确实现MouseMove()。
我已经从阅读其他关于OpenGL鼠标视角实现的资源中了解到,我必须在每一帧之后将鼠标居中,这部分我已经掌握了。但仅此而已。我似乎无法弄清楚如何根据鼠标坐标在原地旋转相机。可能需要使用一些三角函数,我猜测。