关于python:如何在pygame中使用其他字体?

how to use other fonts in pygame?

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

1
2
3
4
5
6
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()

我得到这个错误:

1
OSError: unable to read font file 'redline.ttf'

是否可以使用红线字体?


我认为您的问题源于您的字体路径参数不正确,这就是为什么Python找不到并使用该文件的原因。

根据您的问题描述,不清楚您的程序的工作目录是什么。当pygame.font.Font()采用您的路径并尝试查找与您的工作目录相关的字体时,它很可能正在您的.py文件目录中查找该字体。尝试使用一个绝对路径,看看是否能解决你的问题。

您的.ttf文件很可能已损坏。

(文件在这里)