Bonjour à tous,

J'ai une image .gif que je souhaite déplacer de gauche à droite dans une fenêtre tkinter, puis arrivée en bout de fenêtre je voudrai que l'image rebrousse chemin, donc que l'image fasse un aller-retour tout en restant sur la même ligne.

J'ai réussi à réaliser la fonction déplacement (déplacement1) pour l'aller de gauche à droite de l'image, mais quand j'insère dans le script une deuxième fonction déplacement (déplacement2) pour simuler le retour de l'image, ça plante ! Il n'y a même plus d'aller....
Voici ci-dessous mon script. Pouvez-vous m'aider à résoudre mon problème ? Que dois-je modifier dans mon programme pour observer l'aller ET le retour de mon image dans la fenêtre tkinter ? Merci.

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
34
35
36
37
38
39
40
41
42
43
44
45
 
from tkinter import *
 
 
tk = Tk()
 
Height=500
Width=800
 
def deplacement1():
    img_coords = canvas.coords(image)
    img_width = img_2.width()
    img_height = img_2.height()
 
    if img_coords[0] + img_width <= 800:
          canvas.move(image, 5, 0)
          tk.after(40, deplacement1)
 
def deplacement2():
 
    img_coords = canvas.coords(image)
    img_width = img_2.width()
    img_height = img_2.height()
 
    if img_coords[0] + img_width !=0:
 
        canvas.move(image, -5, 0)
        tk.after(40, deplacement2)
 
 
canvas= Canvas(tk, width = Width, height = Height)
canvas.pack()
 
imgfile = "/Users/OLIVIER/Desktop/serpent2.png"
 
img= PhotoImage(file=imgfile)
 
img_2 = img.subsample(2,2)
image = canvas.create_image(50,200, image=img_2)
 
 
deplacement1()
deplacement2()
 
tk.mainloop()