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 50
| from tkinter import *
import time
def move() :
global x,y, r,flag
x = 100
y = 100
print('B/ affichage balle 100,100')
can.coords(balle,(x-r),(y-r),(x+r), (y+r)) #ne donne lieu à aucun affichage
time.sleep(2) # attente 2 secondes
x = 150
y = 150
print('C/ affichage balle 150,150')
can.coords(balle,(x-r),(y-r),(x+r), (y+r)) #seul celui-ci est pris en compte
if flag > 0 :
fen.after(delai, move)
def start() :
global flag, start
if flag == 0 : #arrêt
flag = 1 #marche
move()
def stop() :
global flag, start
flag = 0
#************main*******************
fen = Tk()
fen.title = '8.17 deplacement d\'une balle'
#********paramètres*************
l_can, h_can = 200, 200 # dimensions canevas
x, y = 50,50
delai = 1000 #ms entre 2 déplacements
r = 14 # rayon de balle
flag = 0
can = Canvas(fen, height = h_can, width = l_can, bg = 'green')
can.grid(row = 0,columnspan = 2)
print(x-r,y-r, x+r, y-r)
balle = can.create_oval(x-r,y-r, x+r, y+r, fill = 'yellow')
bt = Button(fen, text = 'start', bg = 'yellow', command = start)
bt.grid(row =1, column = 0)
bt1 = Button(fen, text = 'Stop', bg = 'red', command = stop)
bt1.grid(row =1, column = 1) |
Partager