当tkinter是一个类的属性时,如何删除它中的一行

时间:2016-04-16 12:11:42

标签: python tkinter line tkinter-canvas

我目前正在制作一款应该在画布中交叉移动的游戏。我已经将绑定写入了箭头键,我还编写了代码来创建一个新的交叉(由于我的问题,两行代码)。

但现在我一直卡住了。我写了一个简单的player - 类,其中我将坐标和根画布存储为attibutes。为此绘制两行nessecary我有函数draw,以更改函数configure

的位置

以下是我现在的代码:

class player(object):
    def __init__(self, x, y):
        self.root = None
        self.x = x
        self.y = y

    def draw(self, root):
        self.root = root
        self.l1 = root.create_line(self.x-5, self.y-5, self.x+5, self.y+5,  width=2)
        self.l2 = root.create_line(self.x+5, self.y-5, self.x-5, self.y+5,  width=2)

    def configure(self, x, y):
        self.x = x
        self.y = y
        self.root.create_line(self.x-5, self.y-5, self.x+5, self.y+5,  width=2)
        self.root.create_line(self.x+5, self.y-5, self.x-5, self.y+5,  width=2)

configure中,我可以毫无问题地绘制新行,但如果我尝试删除self.l1self.l2,我会不断收到错误消息,python说,它们将是整数? !为什么会这样做?如何删除旧线?

0 个答案:

没有答案