1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| from tkinter import *
def move():
global x, y, flag, v, dv
# Pas compris ce bloc d'instruction:
v = v + dv
y = y + v
# Ca j'ai compris:
if y > 190:
y = 190
v = -v
can.coords(ball, x-10, y-10, x+10, y+10)
if flag > 0:
fen.after(50, move)
def start():
global flag
flag += 1
if flag == 1:
move()
def stop():
global flag
flag = 0
x, y = 20, 20
# Pas compris, de plus quand dv = 10: la balle rebondit de moins
# en moins haut pour ne plus rebondir du tout:
v, dv = 1, 1
flag = 0
fen = Tk()
fen.title("Animation avec Tkinter")
can = Canvas(fen, bg= "white", width= 300, height= 200)
can.grid(row= 0, column= 0)
ball = can.create_oval(x-10, y-10, x+10, y+10, outline= "blue", fill= "light blue")
bou1 = Button(fen, text= "Lâcher la Balle", command= start)
bou1.grid(row= 1, column= 0)
bou2 = Button(fen, text= "Arrêter la Balle", command= stop)
bou2.grid(row= 3, column= 0)
bou3 = Button(fen, text= "Quitter", command= fen.quit)
bou3.grid(row= 4, column= 0)
fen.mainloop()
fen.destroy() |
Partager