使用pygame2exe且字体问题与sysfont / .TTF(Using pygame2exe

2019-10-29 15:57发布

我试过py2exe,cx_freeze和前途未卜与那些即使使用这个网站,做与pygame2exe一些进展。 我读了两个或三个其他职位涉及这一点,但尽管有我的安装文件相同的指示,也将在freesansbold.ttf我仍然得到“ 已请求运行时以不寻常的方式来终止 ”的错误。

我将进入一些细节,但令人奇怪的是,如果我把我的文字标准的东西,如“宋体”喜欢这里建议( pygame的分配-运行时错误 ),并创建不工作的应用程序,但问题是我的游戏是一个RPG游戏,如果文字不是freesanbold它溢出到处是不可读的,所以basicly我必须有文字。

这里是我有我的字体代码开始:

font=pygame.font.SysFont(None, 48)

然后,我把它改成:

font=pygame.font.SysFont("freesansbold.ttf", 48)

且包括在文件夹中的.TTF,但无济于事。 再次,如果我更改为“宋体”,那么pygame2exe创建工作文件,但我需要,因为文字的问题freesanbold。

这里是pygame2exe代码,这是我精确复制从维基:

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

我试图把.DLL文件的文件夹中,什么都没有。 这可能是一个超级简单的修复,但我一直在这几天,我也搞不清楚。

同样我也跟着维基( http://pygame.org/wiki/Pygame2exe )在此准确,但问题是我得到即使的.ttf文件被放置在文件夹中运行时错误。

我的想法,感谢您的帮助...

Answer 1:

我曾用默认的系统字体同样的问题。 真的很愚蠢。 最后我用pygame.font.SysFont("Arial", 16)其中没有我不必包含任何工作。



Answer 2:

我对这个问题的解决方法是复制freesansbold.ttf到我的项目目录,并使用pygame.font.Font("freesansbold.ttf", 16)



文章来源: Using pygame2exe and having font issue with sysfont/.ttf