pygame mouse.get_pos () не работает

Я не могу получить очень простой скрипт pygame для работы:

import pygame class MainWindow(object): def __init__(self): pygame.init() pygame.display.set_caption('Game') pygame.mouse.set_visible(True) # pygame.mouse.set_visible(False) # this doesn't work either! screen = pygame.display.set_mode((640,480), 0, 32) pygame.mixer.init() while True: print pygame.mouse.get_pos() pygame.mixer.quit() pygame.quit() MainWindow() 

Это просто выводит (0,0), когда я перемещаю мышь вокруг окна:

 (0, 0) (0, 0) (0, 0) (0, 0) (0, 0) 

Кто-нибудь может это проверить?

Изменить – фиксированный код:

 import pygame class MainWindow(object): def __init__(self): pygame.init() pygame.display.set_caption('Game') pygame.mouse.set_visible(True) # pygame.mouse.set_visible(False) # this doesn't work either! screen = pygame.display.set_mode((640,480), 0, 32) pygame.mixer.init() while True: for event in pygame.event.get(): if event.type == pygame.MOUSEMOTION: print pygame.mouse.get_pos() pygame.mixer.quit() pygame.quit() MainWindow() 

2 Solutions collect form web for “pygame mouse.get_pos () не работает”

Pygame будет постоянно отправлять события во время работы. Их нужно каким-то образом обработать, или pygame будет висеть и ничего не делать. Самый простой способ исправить это, добавив это в свой основной цикл:

 ... while True: for event in pygame.event.get(): pass print pygame.mouse.get_pos() ... 

Я никогда не использовал это раньше, но я обнаружил, что

Pygame: обнаружение мыши

Вам нужно подождать, пока произойдет событие. Я предполагаю, что это опустошает стек и позволяет вам получить данные позже.

 for event in pygame.event.get() 
  • как сделать функции сохранения / загрузки в pygame?
  • pygame, вращающий линию
  • Python select.select, select.poll: поврежденный двойной список
  • Python говорит, что pygames не имеет атрибута init (), но lib установлен правильно
  • Звуки завершаются до следующего, в python?
  • Python - Virtualenv, python 3?
  • Как добавить врагов в pygame?
  • Python & Pygame: обновление всех элементов в списке под циклом во время итерации
  • Python - лучший язык программирования в мире.