python运行pygame时代码文件保存在哪_运行代码时Pygame窗口冻结

我对Pygame不太熟悉,所以下面的内容完全基于我对其他事件处理程序的了解。在

事件处理程序通常的工作方式是,每个新事件执行一次函数。在这个处理过程中,它们不响应新事件。因为MOUSEBUTTONUP是一个新事件,所以需要单独处理。在

事件处理程序不能以当前设置代码的方式执行此操作,因为它一直在处理MOUSEBUTTONDOWN,冻结了窗口。在

现在,我假设在按下鼠标按钮时,鼠标按钮被抛出(中间有一定的间隔),或者有另一个事件这样做。如果是这样的话,您只需在每个事件中执行一次代码,而不必执行循环。在

否则,可以在某些变量为真时启动一个新线程来循环代码。然后可以在MOUSEBUTTONUP处理程序中将此变量设置为false。在

在事件处理程序之外定义:import thread

mouse_pressing = True

def mouse_pressing_func():

while mouse_pressing:

Do fancy stuff

然后在事件处理程序中使用:

^{pr2}$

编辑:

现在缩进已经修复了,我发现您还遇到了另一个问题:您甚至不检查循环中的事件是否是MOUSEBUTTONUP,而是在之后检查。这意味着你永远也达不到那种说法。在

Original: https://blog.csdn.net/weixin_30045091/article/details/113518794
Author: 陈昊芝
Title: python运行pygame时代码文件保存在哪_运行代码时Pygame窗口冻结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/783660/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球