Пользовательские события в Pygame
У меня возникли проблемы с запуском моих пользовательских событий. Мои регулярные мероприятия работают нормально, но я думаю, что я делаю что-то не так. Вот соответствующий код:
evt = pygame.event.Event(gui.INFOEVENT, {'time':time,'freq':freq,'db':db})
print "POSTING", evt
pygame.event.post(evt)
.... Later ....
for event in pygame.event.get():
print "GOT", event
if event.type == pygame.QUIT:
sys.exit()
dispatcher.dispatch(event)
gui.INFOEVENT = 101 кстати. Оператор печати POSTING срабатывает, но GOT никогда не показывает мое событие.
Спасибо!
2 ответа
Кажется, работает, когда я изменил код с:
INFOEVENT = 101
чтобы:
INFOEVENT = pygame.USEREVENT + x
где х - некоторое положительное целое число.
С http://www.pygame.org/docs/ref/event.html
Все события имеют идентификатор типа. Этот тип события находится между значениями NOEVENT и NUMEVENTS. Все пользовательские события могут иметь значение USEREVENT или выше. Рекомендуется убедиться, что ваши события соответствуют этой системе.
Я думаю, что ваш идентификатор события слишком велик.