无法使用 pgzero 在 python 中显示文本

Not able to display text in python with pgzero

我正在用pgzero做一个简单的游戏,但是画面。功能似乎永远无法正常工作。

当我尝试像这样在开头显示文本时:

screen.draw.text("Hello", (50, 30), color="orange")

出来说screen is not defined

然而当我在这里使用它时:

def draw():
    screen.clear()
    bg.draw() 
    bread.draw()

它工作得很好

我该如何解决这个问题?

我不熟悉 pgzero,但我安装了它并试了一下,当我将 line 放入 draw() 函数时它运行良好:

def draw():
    screen.draw.text("Hello", (50, 30), color="orange")

所以看起来 draw() 需要在屏幕上显示内容(并且 screen 对象已经是 draw() 的一部分)。如果您需要解释,请告诉我这是如何发生的(简短回答:对象继承)。

如果这能解决您的问题,请告诉我。

查看文档,有一些像这样的 built-in 函数(事件挂钩)有特殊用途。我认为这是为了让不熟悉编程的用户快速上手 运行 ,但令人恼火的是文档中似乎没有关于此的基本解释。当学习者转而学习另一种语言时,这很可能会使他们感到困惑。然而,这些事情总是在进行中,所以希望它会有所改善。

更多信息:https://pygame-zero.readthedocs.io/en/stable/hooks.html