Zac*_*ley 3 python pygame pyinstaller
所以我不确定这是否是正确的放置位置,但我正在尝试将我的 Pygame 文件转移到更通用的文件中。第一个平台是Windows。它对我来说非常完美,直到我添加了一些与 Glyph 库相关的代码(http://www.pygame.org/project-Glyph-1002-.html)
现在它一启动就崩溃了,我真的不知道为什么。谁能帮我这个?我从来没有做过回溯或任何事情,如果有帮助的话,这是我的游戏的 zip,我正在尝试使用 --onefile 命令来执行此操作。
https://www.dropbox.com/sh/5x143gx95f6sy8j/AADsnPZFwdlrVpc1b8G8QcRja?dl=0
我尝试过的事情是这样的:添加 --hiddenfile=Glyph,检查创建的警告文件,并通过更改游戏中的行来调试自己,谷歌搜索直到我的手指流血
我无法尝试的事情,因为我找不到足够的信息:回溯、控制台解释为什么它不起作用、创建一个日志文件来告诉我出了什么问题,因为我无法弄清楚。
唯一发生严重变化的是我的 Windows 10 更新,我确信这可能与它无法工作的原因有关。
谢谢!- 扎克
我已经在 Linux 上测试了你的游戏,并且在 Python 解释器中运行时非常有趣。我在使用 PyInstaller 时遇到错误。由于您没有发布错误,我不知道它是否相同。(-1 适合你!)如果你的错误是
Fatal Python error: (pygame parachute) Segmentation Fault
Run Code Online (Sandbox Code Playgroud)
我给你一个提示,告诉你去哪里找。问题出在字体初始化中的glyph.py和editor.py:
FONT = Font(None,8)
Run Code Online (Sandbox Code Playgroud)
这会厌倦初始化默认字体。但它不可用。如果您一直在谷歌搜索,您可能会发现这个或这个
所以我所做的是修改 glymph.py 和 editor.py (制作本地副本并修改它)并将字体加载更改为
FONT = Font('silkscreen.ttf', 8)
Run Code Online (Sandbox Code Playgroud)
Silkscreen.ttf 或任何其他字体必须在您的工作目录中可用。错误消失了。
您可能希望根据此提示调整所有路径。
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 = '.'
Run Code Online (Sandbox Code Playgroud)
并使用
basedir + os.sep + 'your file name'
Run Code Online (Sandbox Code Playgroud)
在所有来源中。
如果您想让您的游戏在Linux上运行,请将文件Sounds/GBMusic.mp3更改为ogg格式。不幸的是我没能让背景音乐发挥作用(100% CPU)。所以我注释掉了这一行:
pygame.mixer.music.play(-1)
Run Code Online (Sandbox Code Playgroud)
我希望我能帮助解决您的问题,并为进一步的发展提供一些提示。
| 归档时间: |
|
| 查看次数: |
2765 次 |
| 最近记录: |