首页 > 解决方案 > 在 pygame 中使用不同的字体书写

问题描述

我正在尝试在 pygame 的打开屏幕中使用从互联网上获取的这种字体。这是我使用的函数,但无论我使用什么作为字体名称,它都不会改变出现的内容。使用后pygame.font.SysFont停止给出未找到的错误。我想要的只是使用其他字体

def text_objects(text, font):
    textSurface = font.render(text, True, WHITE)
    return textSurface, textSurface.get_rect()

def message_display(text):
    largeText = pygame.font.SysFont('Minecraftia.ttf',115)
    TextSurf, TextRect = text_objects(text, largeText)
    TextRect.center = ((HEIGHT/2),(WIDTH/2))
    screen.blit(TextSurf, TextRect)

标签: pythonpython-3.xpygame

解决方案


您应该使用freetype模块而不是font模块。它在各个方面都可以替代font并且更好。

这两个模块都有两个用于表示字体的类:

SysFont: 从系统字体创建一个 Font 对象

Font:从支持的字体文件创建一个新的 Font 实例。

在您的情况下,由于您想从字体文件加载字体而不是使用系统字体,因此请使用Font类而不是SysFont.


推荐阅读