【问题标题】:my text won't blit to my display in pygame我的文本不会在 pygame 中显示
【发布时间】:2019-01-11 02:59:23
【问题描述】:

我试图在屏幕的左上角得分,但它返回错误。

我已经在网上搜索并按照确切的步骤操作,但仍然返回错误。

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 是做什么的?

【问题讨论】:

    标签: python pygame pygame-surface


    【解决方案1】:

    当您看到以下错误时:

    render() 不接受关键字参数

    这意味着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 函数

    • 考虑使用freetype module 而不是font 模块,它可以满足font 模块的所有功能,等等

    【讨论】:

    • 谢谢,但现在它说前台 RGBA 参数无效
    • @BOBTHEBUILDER 你传递什么作为参数?它必须是描述颜色的有效元组,例如 (200, 0, 100)pygame.Color 实例
    • 提问者可能不知道关键字参数是什么。将“size=25”替换为 25。
    猜你喜欢
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2013-08-29
    • 2023-04-06
    • 2018-01-01
    • 2014-01-17
    • 2020-02-29
    • 2017-04-03
    相关资源
    最近更新 更多