我正在尝试创建一个合并排序动画,它根据对象的分数按升序移动对象。我发布的代码是导致问题的唯一代码部分(我相信)。在
动画代码:
def moveAnimation(self):
vx = 20.0
vy = 20.0
for i in range (1,len(treasurePointsList)):
for treasure in treasurePointsList:
if treasurePointsList[0] == Treasure1.points:
x,y = canvas.coords(Treasure1)
canvas.coords(Treasure1,x+vx,y+vy)
canvas.update()
x1,y1,x2,y2 = canvas.coords(Treasure1)
time.sleep(0.1)
整个代码:
^{pr2}$最后一个错误是:
Traceback (most recent call last):
File "C:/Users/Jodie/Documents/Alex/ALL Project/Project 2/Sorting Animation.py", line 91, in <module>
Treasure3.moveAnimation()
File "C:/Users/Jodie/Documents/Alex/ALL Project/Project 2/Sorting Animation.py", line 30, in moveAnimation
x,y = canvas.coords(Treasure1)
ValueError: need more than 0 values to unpack
Treasure1
似乎是珍宝类的一个实例,它看起来像是在创建Treasure
类本身的方法定义中引用的。从长远来看,可能对你有帮助的是问问你自己,Treasure.moveAnimation
中变量Treasure1
的预期用途。在它可能会向您抛出此错误,因为类中的}与类似None的东西关联。在
Treasure1
实际上是Treasure.moveAnimation.Treasure1
,而不是稍后在代码中实例化的Treasure1
。我的猜测是Treasure.moveAnimation.Treasure1
没有指向任何东西,因此它给您的错误是显示{如果我的解释是正确的,这并不是我所期望的错误,但是将一个类的实例的名称放在该类中是非常递归的,并且可能会发生很多奇怪的事情,因此很难找到错误的确切来源。在
我的建议是在不引用类定义内的类实例的情况下,找到一种方法来执行您想要的操作。在
相关问题 更多 >
编程相关推荐