【发布时间】:2013-08-07 20:41:39
【问题描述】:
我尝试了 py2exe、cx_freeze,但即使在使用这个网站的人也无济于事,使用 pygame2exe 取得了一些进展。我阅读了有关此问题的其他两三篇文章,但是尽管我的设置文件与指示的相同,并且还放入了 freesansbold.ttf,但我仍然得到'已请求运行时以不寻常的方式终止' 错误。
我将详细介绍一些细节,但奇怪的是,如果我将我的文本设置为像这里建议的“Arial”这样的标准内容 (Pygame Distribution - Runtime Error) 并且它创建的应用程序确实可以工作,但问题是我的游戏是一个rpg,如果文本不是freesanbold,它会到处溢出并且不可读,所以基本上我必须有那个文本。
这是我最初的字体代码:
font=pygame.font.SysFont(None, 48)
然后我改成:
font=pygame.font.SysFont("freesansbold.ttf", 48)
并将 .ttf 包含在文件夹中,但无济于事。 再次,如果我将其更改为“Arial”,则 pygame2exe 会创建一个工作文件,但由于文本问题,我需要 freesanbold。
这是 pygame2exe 代码,我完全从 wiki 复制:
def isSystemDLL(pathname):
# checks if the freetype and ogg dll files are being included
if os.path.basename(pathname).lower() in ("libfreetype-6.dll", "libogg-0.dll","sdl_ttf.dll"): # "sdl_ttf.dll" added by arit.
return 0
return origIsSystemDLL(pathname) # return the orginal function
py2exe.build_exe.isSystemDLL = isSystemDLL # override the default function with this one
我已经尝试将 .dlls 放入文件夹中,没有。这可能是一个超级简单的解决方法,但我已经做了好几天了,我无法弄清楚。
同样,我在这里完全关注了 wiki (http://pygame.org/wiki/Pygame2exe),但问题是即使将 .ttf 文件放在文件夹中,我也会遇到运行时错误。
我没有想法,感谢您的帮助...
【问题讨论】: