0

我正在尝试检测鼠标移动事件并使用 sf::RenderWindow pollEvent 方法将其移回屏幕中间,并检测事件类型 sf::Event::MousePressed。问题是当我检测到鼠标移动时,我需要将鼠标移回屏幕中间,为此我使用 sf::Mouse::setPosition 但我认为(也许我错了)该函数本身调用sf::Event::MouseMoved 使用时,恐怕会造成无限循环。

我这样做的方式的例子:(我知道 0, 0 它不是中间它只是和例子)

while (app.pollEvent(Event))
{
  if(Event.type == sf::Event::MouseMoved)
        {
            sf::Mouse::setPosition(0 , 0));
        }
}

对不起,我的英语不好!提前致谢!

4

1 回答 1

0

尝试app.SetCursorPosition(x, y);改用。

另外,我会跳过对事件的检查,因为无论如何您都希望光标在每帧末尾的中间结束。

于 2012-06-24T11:03:11.937 回答