问题很直接。我能不能画。将图像A向右移动的同时,我画布。把图像B移到左边?
我以前通过使用多处理来运行多个画布分层在它上面,但这是我已经弥补了一个非常大的解决方案。
有没有正式的/更好的方法来做这件事?任何建议都有帮助。
您不需要做什么特别的事情。只需同时为这两个对象调用move
方法。当屏幕更新时,两者将同时更新。
例如,以下代码将在每次按键盘上的空格键时移动每个图像5个像素:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, background="black", width=400, height=400)
canvas.pack(fill="both", expand=True)
image_a = tk.PhotoImage(width=50, height=50)
image_b = tk.PhotoImage(width=50, height=50)
image_a.put(("#ff0000",), (0, 0, 49, 49))
image_b.put(("#00ff00",), (0, 0, 49, 49))
canvas.create_image(175, 200, image=image_a, tags=("image_a",))
canvas.create_image(225, 200, image=image_b, tags=("image_b",))
def sync_move(event):
canvas = event.widget
canvas.move("image_a", 5, 0)
canvas.move("image_b", -5, 0)
canvas.bind("<space>", sync_move)
canvas.focus_set()
root.mainloop()