我的代码是用python编写的(tkinter),它可以移动球的列表:
for i in range(num_balls):
c_col = rand(0,3)
x = rand(20, 1280)
y = rand(20, 550)
xy = (x, y, x+diameter, y+diameter)
ball.append(canvas2.create_oval(xy, fill=colour[c_col]))
canvas2.pack()
x = [1] * num_balls
y = [1] * num_balls
while True:
# window.listen()
# window.onkeypress(tog_pause, "p")
# canvas2.bind("<Return>", tog_pause)
for i in range(num_balls):
pos = canvas2.coords(ball[i])
# pos = position(ball[i])
if pos[3] > 715 or pos[1] < 0:
y[i] = -y[i]
if pos[0] < 0 or pos[2] > 1280:
x[i] = -x[i]
canvas2.move(ball[i], x[i], y[i])
sleep(0.001)
window.update()
self.tk.call((self._w, 'coords') + args))]
我得到这个错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.8/tkinter/__init__.py", line 1883, in __call__
return self.func(*args)
File "Coursework_02.py", line 271, in Name_entre
ball_maker()
File "Coursework_02.py", line 230, in ball_maker
pos = position(ball[i])
File "Coursework_02.py", line 174, in position
return canvas2.coords(ball1)
File "/usr/lib/python3.8/tkinter/__init__.py", line 2761, in coords
以及:
_tkinter.TclError: invalid command name ".!canvas2
我想移动我在代码前面创建的球(未编写),但当我调用coords()
函数获取球的位置时,我遇到了一个问题,有人能告诉我如何解决这个问题吗,因为我甚至不明白无效命令名.!canvas
的意思
目前没有回答
相关问题 更多 >
编程相关推荐