我试图在这里重构一些代码,使其更易于管理和阅读友好。我目前坚持使用这种对我来说似乎非常简单的巨大方法,我想看看我是否可以再分解它:
def moveCircle(self, event):
if event.keysym == "Up":
self.canvas.move("circle", 0, -5)
self.canvas.move("text", 0, -5)
self.y1 -= 5
self.y2 -= 5
elif event.keysym == "Down":
self.canvas.move("circle", 0, 5)
self.canvas.move("text", 0, 5)
self.y1 += 5
self.y2 += 5
elif event.keysym == "Left":
self.canvas.move("circle", -5, 0)
self.canvas.move("text", -5, 0)
self.x1 -= 5
self.x2 -= 5
elif event.keysym == "Right":
self.canvas.move("circle", 5, 0)
self.canvas.move("text", 5, 0)
self.x1 += 5
self.x2 += 5
self.canvas.update
我有两个画布对象,“圆圈”和“文本”,每次用户按下其中一个箭头键时,它们都会移动相同的值。唯一改变的是方向(duh)。我的 x1、x2、y1 和 y2 的实例变量在程序中用于对这个问题不重要的目的(你知道。我确实需要它们,并以这种方式递减)。我所希望的是一个神奇的self.canvas.move("circle" && "text", 0, 5)
或类似的荒谬的东西。(显然,该命令不存在,但我想知道是否有更简洁的方法可以做到这一点,或者我只是发疯了)
作为记录,我也尝试过self.y1 = self.y2 -= 5
,编译器抛出了一个错误,所以这很糟糕。任何人都知道如何同时减少和减少相同数量的多个值?那将是超级酷的豆子。