Пользовательские события в Pygame - PullRequest
1 голос
/ 17 февраля 2010

У меня проблемы с запуском пользовательских событий. Мои регулярные мероприятия работают нормально, но я думаю, что я делаю что-то не так. Вот соответствующий код:

    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 ]

3 голосов
/ 01 апреля 2010

С http://www.pygame.org/docs/ref/event.html

Все события имеют идентификатор типа.Этот тип события находится между значениями NOEVENT и NUMEVENTS.Все пользовательские события могут иметь значение USEREVENT или выше.Рекомендуется убедиться, что ваш идентификатор события соответствует этой системе.

Я думаю, что ваш идентификатор события слишком высокий.

2 голосов
/ 17 февраля 2010

Кажется, работает, когда я изменил код с:

INFOEVENT = 101

до:

INFOEVENT = pygame.USEREVENT + x

где x - некоторое положительное целое число.

...