如何在Pygame中使用其他字体?

3

我已经下载了一个名为redline.ttf的字体文件,并且想在pygame中使用它。我只是想在屏幕上打印文本。在pygame -> lib文件夹中,我找到了一个基本字体叫做'freesansbold.ttf'。我已经将我的下载字体放在同一文件夹中,但是当我使用它时,

fontObj = pygame.font.Font('redline.ttf', 16)
textSurfaceObj = fontObj.render('some text', True, (240,240,240), (115,117,117))
textRectObj = textSurfaceObj.get_rect()
textRectObj.center  = (350, 30)
DISPLAYSURF.blit(textSurfaceObj, textRectObj)
pygame.display.update()

我遇到了这个错误:
OSError: unable to read font file 'redline.ttf'

能否使用红色字体?


你的文件夹里的字体是freesansbold.ttf还是redline.ttf? - Idos
将字体文件放入您的项目文件夹中。 - furas
1个回答

8
我认为你的问题源于字体路径参数不正确,这就是为什么Python找不到并使用该文件的原因。
从你的问题描述中,无法确定你的程序工作目录是什么。当pygame.font.Font()获取你的路径并试图相对于你的工作目录查找字体时,很可能它正在你的.py文件目录中查找字体。尝试使用一个绝对路径,看看是否解决了你的问题。
还有一种可能性较小,即你的.ttf文件已损坏。
文档在此处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接