pygame:通过pygame.time.set_timer()发送具有属性的自定义事件

埃里亚斯M.

我在游戏中高亮显示。与此同时,我想设置一个计时器来触发自定义事件,该事件告诉主驱动程序在x毫秒后删除那些突出显示的内容。像这样:

REMOVE_HIGHLIGHT_EVENT = p.USEREVENT + 1

coords = (3, 5)  # the coordinates of the highlighted square

pygame.time.set_timer(p.event.Event(REMOVE_HIGHLIGHT_EVENT, square=coords).type, milliseconds=2000, once=True)

在主循环中:

while running:
    for e in pygame.event.get():
        ...
        if e.type == REMOVE_HIGHLIGHT_EVENT:
                removeHighlight(e.square)

但是我越来越AttributeError: 'Event' object has no attribute 'square'

因此,显然我无法以这种方式设置属性。我曾考虑过要对表示事件类型的整数中的坐标进行编码,但是这对我来说似乎真的很棘手。有没有更好的方法来传递这些信息?

提前致谢。

拉比德76

您误解了pygame.time.set_timer()工作原理。指令

pygame.time.set_timer(p.event.Event(REMOVE_HIGHLIGHT_EVENT, square=coords).type, milliseconds=2000, once=True)

没有任何意义。实际上,您正在创建一个无处不在的临时事件对象。您正在尝试发明一个不存在的功能。

您不能将自定义pygame.event.Event()对象附加到计时器事件。set_timer有2个参数,事件ID和时间,但没有别的。参见Pygame中的Timer
发布客户事件的唯一方法是pygame.event.post()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pygame.time.set_timer()事件重置了吗?

来自分类Dev

PyGame自定义事件

来自分类Dev

Pygame.time.set_time,我想让它发生在特定点

来自分类Dev

pygame对象没有属性'rect'(pygame)

来自分类Dev

混合pygame.time()和time.time()

来自分类Dev

如何使用pygame.time.get_ticks

来自分类Dev

pygame.time.get_ticks()的问题

来自分类Dev

Pygame事件错误

来自分类Dev

PyGame:MOUSEBUTTONDOWN事件的问题

来自分类Dev

pygame事件循环麻烦

来自分类Dev

为什么pygame set_timer()在我的代码中不起作用?

来自分类Dev

为什么在使用pygame.time.wait或pygame.time.delay时游戏会冻结?

来自分类Dev

pygame.time.delay()比time.sleep()好吗?

来自分类Dev

*之后没有通过render()参数传递的参数必须是可迭代的,而不是pygame.Surface

来自分类Dev

Возникла проблема с отображением новых элементов в pygame

来自分类Dev

在pygame中检测用户事件

来自分类Dev

pygame时钟和事件循环

来自分类Dev

在pygame中处理事件

来自分类Dev

具有ComboBox的可重用自定义控件:通过属性定义添加<selectItems>

来自分类Dev

具有ComboBox的可重用自定义控件:通过属性定义添加<selectItems>

来自分类Dev

未定义QUIT pygame事件

来自分类Dev

在没有pygame的情况下下载pygame游戏?

来自分类Dev

Pygame + Pyinstaller = ImportError:没有名为“ pygame”的模块

来自分类Dev

用自定义模式填充pygame字体

来自分类Dev

Pygame Rect,有什么争论?

来自分类Dev

pygame圈子没有改变

来自分类Dev

Pygame没有关闭

来自分类Dev

带有多个Windows的Pygame

来自分类Dev

Pygame窗口没有更新

Related 相关文章

热门标签

归档