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 print ステートメントは起動しますが、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 に答える