【发布时间】:2020-10-05 13:13:35
【问题描述】:
我尝试制作一个小蛇游戏(使用 pygame),并尝试使用 cx_Freeze 将其导出为 .exe。游戏运行良好,直到我关闭窗口。当我这样做时,会出现以下错误消息:
但我只是用它来关闭游戏循环:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
quit()
if event.key == pygame.K_SPACE:
Game()
如果我打开 .py 文件,我不会收到任何错误消息。我不知道如何解决这个问题。
我的 setup.py:
import cx_Freeze
executables = [cx_Freeze.Executable("snake.py", base="Win32GUI", icon="links/icon.ico")]
cx_Freeze.setup(
name="Snake",
options={"build_exe": {"packages": ["pygame"], "include_files": ["links/"]}},
executables=executables
)
这是我的代码:Codeshare.io
【问题讨论】:
-
不要发布指向您的代码的链接。 (Codeshare.io 似乎没有自动启动)。贴出调用
quit()的相关代码。 -
您在程序中未定义的代码笔上的第 42 行调用
pygame.quit()下的函数quit()。创建函数或删除行。 -
quit在冻结时对我来说也总是失败。请改用sys.exit() -
quit() 已经是一个定义的函数,pygame.quit() 也是。如果我删除其中一个,只会产生更多错误或错误...
-
在
for循环之前是否有一个while循环运行?