Pygame如何创建更多用户事件类型的事件?

2024-06-16 11:44:02 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题是因为需要创建很多USEREVENT类型的事件。因为我找不到关于如何创建超出限制的userevents的信息,所以我来这里寻求帮助。在

目前我知道USEREVENT类型事件的值为24,允许的最大id为31。我还发现一些id-s被保留了,至少在官方文档(http://www.pygame.org/docs/ref/event.html#comment_pygame_event_Event)中的一个注释中是这样。在

基于所有这些,我有两个部分的问题:那些SDL_EVENT_RESERVED EVENT id-s是否可以安全地用作用户创建事件的额外空间(例如,计时器:pygame.time.set_计时器(USEREVENT+71000)有没有一种方法可以创建无限量的独立用户创建的事件,就像在计时器代码的示例中一样?在

如果这个问题因为措辞不好或其他问题而无法理解,我很抱歉。在


Tags: 用户文档event信息idhttp类型官方
1条回答
网友
1楼 · 发布于 2024-06-16 11:44:02

用户事件应介于:

  • pygame.USEREVENT:24
  • pygame.NUMEVENTS:32

所以你可以有9个不同的用户事件。在

通常的方法是定义一个常数:

SOME_EVENT = pygame.USEREVENT + 0
ANOTHER_EVENT = pygame.USEREVENT + 1
...

如果使用event(...)创建事件,则可以为事件分配属性,这样可以创建许多不同的子事件并为它们分配额外的数据,例如:键事件。在

不幸的是,当您使用pygame.time.set_timer()时,您只能使用一个ID

相关问题 更多 >