我在我的「遊戲引擎」中工作良好(這可能很重要)FPS相機模塊。現在我使用它與WASD和向上/向下/向左/向右。我想增加通過鼠標移動相機的可能性。這是我寫的代碼:如何通過鼠標移動使OpenGL相機在SFML中移動
if (event.type == sf::Event::MouseMoved)
{
static glm::vec2 lastPos;
glm::vec2 mousePos(event.mouseMove.x, event.mouseMove.y);
glm::vec2 delta(lastPos - mousePos);
delta *= -0.01;
cam->addRotation(delta);
sf::Vector2i center(parentWnd->getSFMLWindow()->getSize().x/2, parentWnd->getSFMLWindow()->getSize().y/2);
lastPos.x = center.x;
lastPos.y = center.y;
sf::Mouse::setPosition(center, *parentWnd->getSFMLWindow());
}
如何在沒有光標移動屏幕的情況下移動相機?它工作幾秒鐘和攝像頭鎖定(所以我不能鼠標移動,然後我必須殺死進程)。我寧願得到鼠標移動事件而不是鼠標位置,但SFML不支持。
我的問題不是關於遊標的可見性。這是關於調度鼠標事件的問題。 – bajos