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

svs*_*svs 2 python fonts pygame

我下载了一种名为 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()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

OSError: unable to read font file 'redline.ttf'
Run Code Online (Sandbox Code Playgroud)

可以使用redline字体吗?

Ido*_*dos 7

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

从您的问题描述中不清楚您程序的工作目录是什么。当pygame.font.Font()获取您的路径并尝试查找相对于您的工作目录的字体时,它很可能正在您的.py文件目录中查找字体。尝试改用绝对路径,看看是否能解决您的问题。

您的 .ttf 文件损坏的可能性要小得多。

文档在这里)