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 に答える