微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从另一个线程获取 pygame 事件

如何解决从另一个线程获取 pygame 事件

我目前从事一个项目,该项目使用大量文件 - 加载需要时间。

所以我添加一个加载屏幕。
问题是我需要在主线程中加载所有文件。这会导致有关 1. 动画和 2. 事件处理的问题。

为了解决一个问题,我将加载动画放在一个单独的线程上。

然后,为了处理事件,我决定在动画线程中调用pygame.event.get(),因为我不能在主线程中输入(他实际上几乎没有占用加载文件

但没有任何反应(我无法点击 X 窗口关闭按钮来关闭窗口,并且正在加载鼠标光标) - 所以事件不会被 {{1} 更新}.

正如文档所说:

事件子系统应该从主线程调用

好的,我可以简单地get the events in the main thread,但这意味着更改我的整个代码(见下文)。所以我只是想知道是否有另一种方法可以做到这一点,也许是通过手动获取 pygame 状态...

我不想修改代码的原因是整个代码(除了加载)都是单线程的。因此,我必须将线程中加载的所有文件导出到主线程中的空类中。

在这种情况下,查找每个局部变量代表什么会变得一团糟......(我将在下面更明确地解释):

pygame.QUIT

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。