所以我不确定这是否是正确的地方,但是我试图将我的Pygame文件转换为更普遍的东西。第一个平台是Windows。在我添加了一些与Glyph库(http://www.pygame.org/project-Glyph-1002-.html)
相关的代码之前,它一直很适合我现在它在开始时崩溃了,我真的不确定为什么。谁能帮我这个?我从来没有做过追溯或任何事情,如果有帮助,请点击我的游戏拉链,我尝试使用--onefile命令执行此操作。
https://www.dropbox.com/sh/5x143gx95f6sy8j/AADsnPZFwdlrVpc1b8G8QcRja?dl=0
我尝试的事情是这样的:添加--hiddenfile = Glyph,检查已创建的警告文件,并通过更改游戏中的行来调试自己,谷歌搜索直到我的手指流血
我无法尝试的事情,因为我找不到足够的信息:回溯,控制台,为什么它不工作,创建一个日志文件,告诉我什么是错的,因为我无法弄清楚。
唯一严重改变的是我的Windows 10更新了,这可能与它为什么不能正常工作有关。我很有信心。
谢谢! - 扎克
答案 0 :(得分:4)
我已经在Linux上测试了你的游戏,并且在Python解释器中运行时非常有趣。 使用PyInstaller时出错了。由于你没有发布你的错误,我不知道它是否相同。 (-1给你!) 如果您的错误是
Fatal Python error: (pygame parachute) Segmentation Fault
我有一个提示,你在哪里看。 问题在于字体初始化中的glyph.py和editor.py:
FONT = Font(None,8)
这可以初始化默认字体。但它不可用。 如果您一直在使用Google进行Google搜索,则可能会找到this或this
所以我做的是修改glymph.py和editor.py(制作本地副本并对其进行修改)并将字体加载更改为
FONT = Font('silkscreen.ttf', 8)
您的工作目录中必须提供silkscreen.ttf或任何其他字体。错误消失了。
您可能会根据this hint调整所有路径。
import sys
import os
...
if getattr(sys, 'frozen', False):
# we are running in a bundle
basedir = sys._MEIPASS
else:
# we are running in a normal Python environment
basedir = '.'
并使用
basedir + os.sep + 'your file name'
在所有来源中。
如果您想让您的游戏在Linux上运行,请将文件Sounds / GBMusic.mp3更改为ogg格式。 不幸的是,我没有设法使背景音乐工作(100%CPU)。所以我已经注释掉了这一行:
pygame.mixer.music.play(-1)
我希望我可以帮助您解决问题,并提供一些进一步发展的提示。