python - 在pygame中使用不同的字体书写

标签 python python-3.x 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)

最佳答案

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

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

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

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

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

关于python - 在pygame中使用不同的字体书写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54065329/

相关文章:

python - 如何使用 Apache Beam python 根据键拆分 GroupByKey() 转换的结果并将值写入 GCS 存储桶?

python - 获取所有不在字符串python中的字符

python - 从 R 到 Python : define multiple columns from multiple columns in a pandas dataframe

python - 如何使用装饰器将函数绑定(bind)到对象实例?

python - 类方法线程安全吗?

javascript - 如何从 ReactJS 网络应用程序向 Django API 发送 POST 请求?

Python collections.Counter() 运行时

python - 按下拍摄按钮时控制拍摄频率?

python - Pygame OpenGL获取窗口大小

python - python 游戏中的房间/屏幕/菜单 Controller 问题 : old rooms are not removed from memory