Pygame不使用指定的字体

时间:2016-01-17 17:24:31

标签: python fonts pygame

所以我在pygame中遇到问题,我指定要使用的字体和大小,但是当我的程序运行时,字体和大小是默认值。

这是我定义文本的地方

def font(self):
    '''*****FATAL - THIS LINE CAUSES ERROR (When compiled to .exe using cx_freeze)*****'''
    #font = pygame.font.SysFont("Coure", 20)
    font_color = (0, 0, 0)
    font = pygame.font.Font("coure.fon", 20)
    self.text = font.render("Level "+str(self.level) + " " + self.name + " Health " + str(self.health), True, font_color)

这句话在"致命"从编辑器运行时,注释工作正常,但一旦以.exe

运行,就会导致此错误
Fatal Python error: (pygame parachute) Segmentation Fault
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pygame\pkgdata.py", line 67, in   getResource
return open(os.path.normpath(path), 'rb')
FileNotFoundError: [Errno 2] No such file or directory:    'C:\\Users\\Jared\\Desktop\\Python\\Boss Battle\\build\\exe.win32-3.4\\library.zip\\pygame\\freesansbold.ttf'

我没有在我的计算机上安装freesansbold字体,但这不重要,因为它应该在游戏文件夹中查找coure字体。奇怪的是,我说" Coure"并且该文件名为" coure.fon",但是当我写这个时,它是无法识别的。

我想我正在寻找一些关于如何修复错误或如何定义我想要它使用的文本文件的指导。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

打开你的pygame包文件夹。它应该是C:\Python34\Lib\site-packages\pygame之类的东西。应该有一个标题为freesansbold.ttf的True Type字体文件。复制该文件,然后打开包含您的exe程序的文件夹。应该有一个名为library的压缩文件。打开它,然后转到压缩文件里面的pygame文件夹。应该看起来像\build\exe.win32-3.4\library.zip\pygame。只需将freesansbold.ttf文件粘贴到该文件夹​​中即可完美运行。 freesansbold字体附带pygame包,但由于某些原因,py2execx_Freeze不包含它,因此您必须手动添加它。