在tkinter canvas中一起移动多个对象,可以通过以下步骤实现:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)
canvas.pack()
objects = []
# 定义对象的初始位置和移动速度
object1 = {'id': canvas.create_rectangle(50, 50, 100, 100, fill='red'), 'dx': 1, 'dy': 1}
object2 = {'id': canvas.create_oval(200, 200, 250, 250, fill='blue'), 'dx': -1, 'dy': -1}
objects.append(object1)
objects.append(object2)
def move_objects():
for obj in objects:
canvas.move(obj['id'], obj['dx'], obj['dy'])
# 循环调用move_objects函数来实现连续移动
canvas.after(10, move_objects)
# 调用move_objects函数开始移动对象
move_objects()
root.mainloop()
这样,你就可以在tkinter canvas中同时移动多个对象了。每个对象都有一个唯一的id,可以使用canvas.move函数来移动对象,通过修改对象的dx和dy值来控制移动的速度和方向。在move_objects函数中,使用canvas.after函数来实现连续移动效果。
注意:以上代码只是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云