我正在 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()
的一部分。如果您想解释这是如何发生的,请告诉我(简短的回答:对象继承)。
请告诉我这是否可以解决您的问题。
查看文档,有一些像这样的内置函数(事件挂钩)有特殊用途。我认为这是为了让不熟悉编程的用户快速启动和运行,但令人烦恼的是文档中似乎没有关于此的基本解释。当学习者转向学习不同的语言时,这可能会让他们感到困惑。然而,这些事情始终是一项正在进行的工作,因此希望它能有所改善。
更多信息:https://pygame-zero.readthedocs.io/en/stable/hooks.html
根据我的尝试,除非你把它放在绘图函数中,否则它不会工作,除非你使用 pygame