1

我无法触发我的自定义事件。我的常规活动工作正常,但我想我做错了什么。以下是相关代码:

    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 从未显示我的事件。

谢谢!

4

2 回答 2

3

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

所有事件都有一个类型标识符。此事件类型介于 NOEVENT 和 NUMEVENTS 的值之间。所有用户定义的事件都可以具有 USEREVENT 或更高的值。建议确保您的活动 ID 遵循此系统。

我的想法是你的事件 ID 太高了。

于 2010-04-01T09:00:22.667 回答
2

当我将代码更改为:

信息事件 = 101

到:

INFOEVENT = pygame.USEREVENT+x

其中 x 是某个正整数。

于 2010-02-17T02:56:26.087 回答