Bonjour,
Que diriez-vous à un débutant cherchant à créer un mouvement d'un item sur un canevas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 from tkinter import * from threading import Timer def moveTimer(event): dx=5 dy=5 can.move(rect, dx, dy) dx+=2 dy+=2 timer = Timer(0.05, lambda: moveTimer(event)) timer.start() def moveAfter(event): dx=5 dy=5 can.move(rect, dx, dy) dx+=2 dy+=2 can.after(50, lambda: moveAfter(event) ) width=400 height=400 x=0 y=0 fen = Tk() can = Canvas(fen, width=width, height=height, bg="black") can.grid() rect = can.create_rectangle(x+5,y+5,x+25, y+25, fill="ivory") can.bind("<Button-1>", moveTimer) can.bind("<Button-3>", moveAfter) fen.mainloop()
D'utiliser plutôt un truc ressemblant à la fonction moveTimer() ou un truc style moveAfter() ou une autre technique plus adaptée?
Autrement dit: Quelles sont les différences d'usages qui permettent de s'orienter vers une technique de mouvement plutôt qu'une autre?
(Pour le reste, n'hésitez à corriger, commenter, (voire défoncer l'auteur), sur toute erreur (de fond et/ou de forme) du "code-exemple" ci-dessus)
Partager