我的文字不会在 pygame 中显示

my text won't blit to my display in pygame

我正在尝试在屏幕的左上角打分,但返回错误。

我已经在线搜索并按照确切的步骤进行操作,但仍然 returns 错误。

def score(rounds):
    font = pygame.font.SysFont(None, 25)
    text = font.render(f'ROUND {rounds}', True, size=25)
    game_display.blit(text, (0,0))

render() 没有关键字参数 我曾尝试将 True 设置为 False,但这没有用。 顺便说一句,中间参数 True 是做什么的?

当您看到以下错误时:

render() takes no keyword arguments

这意味着 render 函数不接受关键字参数。

看看你的代码:

text = font.render(f'ROUND {rounds}', True, size=25)

您使用关键字参数调用 render

只是不要这样做。不要使用关键字参数。就这么简单。

此外,第三个参数必须是类似颜色的对象,因此您的代码应如下所示:

text = font.render(f'ROUND {rounds}', True, pygame.Color('orange'))

更多注释:

  • render 采用可选的第四个参数(背景颜色)。 pygame 的 documentation 错误地将其显示为关键字参数。

  • 最好加载一次字体。目前,您每次调用时都会加载字体 score 函数

  • 而不是 font 模块,考虑使用 freetype module,它可以做到 font 模块所能做到的一切,甚至更多