Задать вопрос
cergmin
@cergmin
Developer

Как зафиксировать курсор по центру и получать событие MOUSEMOTION?

Делаю 3D игру на pygame, используя ray casting. Необходимо сделать поворот по движению мыши. Для этого я ловлю событие MOUSEMOTION, прибавляю к углу поворота игрока event.rel[0] и перемещаю курсор снова в центр.
for event in pygame.event.get():
    if event.type == pygame.MOUSEMOTION:
        pygame.mouse.set_pos(WIDTH // 2, HEIGHT // 2)
        player.vx += event.rel[0] * SENSITIVITY

Проблема в том, что перемещение курсора в центр вызывает новое событие MOUSEMOTION, у которого атрибут rel равен отрицательному rel предыдущего события перемещения.
Как зафиксировать курсор по центру так, чтобы не вызывались лишние события MOUSEMOTION?
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    1C-разработчик
    8 месяцев
    Далее
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы