Я пытаюсь обнаружить событие перемещения мыши и переместить его обратно в середину экрана с помощью метода sf :: RenderWindow pollEvent и определить тип события sf :: Event :: MousePressed. Проблема в том, что когда я обнаруживаю перемещение мыши, мне нужно переместить мышь обратно в середину экрана, и для этого я использую sf :: Mouse :: setPosition, но я думаю (может быть, я ошибаюсь), что сама функция вызывает sf :: Event :: MouseMoved, когда он используется, и испугался создания бесконечного цикла.Движение мыши на С ++ SFML
Exmaple на пути им делать, что: (я знаю, 0, 0 это не середина это просто и exmaple)
while (app.pollEvent(Event))
{
if(Event.type == sf::Event::MouseMoved)
{
sf::Mouse::setPosition(0 , 0));
}
}
Извините за мой плохой английский! Спасибо заранее!
Если это дает вам проблемы, просто добавьте проверку, что мышь не находится (0, 0), прежде чем перемещать ее туда. –
Пожалуйста, не двигайте мышь! Это ужасно и не является удобным для пользователя. Серьезно, не делай этого. Вы также не столкнетесь с этой проблемой (потому что я уверен, что функция не предназначена для такого использования). – Paul
Итак, что я должен делать вместо этого? Я хочу проверить каждый кадр на дельту движения мыши, вычитая положение мыши по позиции середины экрана. – UnTraDe