一段时间以来,我一直在使用带有 SFML 1.6 的 OpenGL,这真是太棒了!除了一个例外:我似乎无法正确实现相机类。你看,我正在尝试创建一个名为“Camera”的 C++ 类。这是我的功能:
Camera::Strafe(float fSpeed)
检查是否按下了 WASD 键,如果是,则以“fSpeed”在它们各自的方向上移动相机。
Camera::MouseMove(int currentX, int currentY)
应该提供第一人称鼠标外观,获取当前鼠标坐标并相应地旋转相机。我的 Strafe() 实现工作正常,但我似乎无法让 MouseMove() 正确。
通过阅读有关 OpenGL 鼠标外观实现的其他资源,我已经知道我必须在每一帧之后将鼠标居中,并且我将那部分放在了下方。但仅此而已。我似乎无法从鼠标坐标中获得如何在现场实际旋转相机。我敢打赌,可能需要使用一些触发器。