2010-02-17 136 views
1

我無法讓自定義事件觸發。我的常規賽事運行良好,但我想我做錯了什麼。這裏是相關的代碼: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 print語句觸發,但GOT從不顯示我的事件。

謝謝!

回答

2

看來當我從改變了代碼的工作:

INFOEVENT = 101

到:

INFOEVENT = pygame.USEREVENT + X

其中x是正整數。

3

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

所有事件都有一個類型標識符。此事件類型介於NOEVENT和NUMEVENTS的值之間。所有用戶定義的事件可以具有USEREVENT或更高的值。建議您確保您的活動ID符合此係統。

我的想法是,您的活動ID很高。