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

问题描述 投票:0回答:2

我已经下载了一种名为 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'

可以使用红线字体吗?

python fonts pygame
2个回答
8
投票

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

从您的问题描述来看,不清楚您的程序的工作目录是什么。当

pygame.font.Font()
获取您的路径并尝试查找相对于您的工作目录的字体时,它很可能正在您的
.py
文件目录中查找字体。尝试使用 绝对路径 来代替,看看是否可以解决您的问题。

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

文档在这里)


0
投票

在使用之前必须先初始化pygame,如下所示:

pygame.init()

或者像这样复制字体的路径:

"C:\Users\admin\pythonProjects\pythonGame\game_font.ttf"
© www.soinside.com 2019 - 2024. All rights reserved.