我正在做一个简单的游戏作为学校作业,但我在更新画布时遇到了问题。我尝试了一些循环和睡眠命令,但它们似乎不起作用。现在我有代码应该刷新画布,但我不知道如何将画布传递给我的 updateCanvas 函数。
基本上我有两个功能:
def canvas(self):
canvas = Canvas(self)
button = Button(self, text="test", command=self.updateCanvas)
button.place(x=240, y=5)
然后我有一个更新画布的方法
def updateCanvas(self):
canvas.create_oval(ovalx, ovaly, ovalx2, ovaly2, fill="black")
按下按钮应该更新画布,但它说画布不是全局的。这就说得通了。我以前做过java编程。出于某种原因将画布更改为:
def canvas(self):
global canvas = Canvas(self)
这给了我一个“语法错误:无效语法”
我该怎么办?使用循环?我不能在类内创建一个全局变量吗?将游戏视为跳棋或国际象棋,当跳棋或棋子移动时,我需要更新屏幕。