Я связал ключ с функцией, которая заставляет овал (включенный в список других идентичных овалов) перемещаться на определенное расстояние.Я хочу, чтобы он делал новые движения овала каждый раз, когда я нажимаю клавишу, не останавливая предыдущее перемещение овала, если его ход не закончился.
С помощью моего кода, нажав 'c', я создаю новый овалслучайным образом размещается на холсте и сохраняется в словаре.Каждый новый овал сохраняется с приращениями key = 'compteur', 'compteur' для каждого нового созданного овала, чтобы убедиться, что каждый овал не создан поверх предыдущего существующего.Нажав «m», я хочу делать новый овальный ход каждый раз, когда нажимаю клавишу, без остановки предыдущей.
from tkinter import *
import time
from random import *
import time
compteur = 0
dic = {}
w = Tk()
w.geometry('400x400')
c = Canvas(w, width = 400, height = 400)
c.pack()
dic[compteur] = c.create_oval(200,150,250,200,fill = 'pink')
compteur += 1
def create(event):
global compteur
b = randrange(300)
dic[compteur] = c.create_oval(200,b,250,(b+50),fill = 'pink')
compteur += 1
def move(event):
rond = dic[randrange(len(dico))]
if c.coords(rond)[0] == 200:
for x in range (15):
c.move(rond,-10,0)
w.update()
time.sleep(0.15)
w.bind('<m>', move)
w.bind('<c>',create)
w.mainloop()
Я явно что-то упускаю, но, поскольку я новичок,Я понятия не имею, почему только один овал может двигаться за один раз.И как ни странно, как только второй овал заканчивает свой курс, первый начинает снова заканчивать свой курс.
Спасибо за вашу помощь:)