Problème Tkinter

Fermé
Simonn44_357 Messages postés 1 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 2 avril 2020 - Modifié le 2 avril 2020 à 23:31
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 3 avril 2020 à 16:50
Bonjour,

J'ai un problème avec mon code Tkinter : en fait quand je l'exécute, quand j'appuie sur z, q, s ou, d, un carré rouge est censé bouger dans les directions indiquées (dans le code), sauf que ça ne marche pas ! Pouvez-vous donc m'aidez à ce sujet ?

Mon code (la partie en question est en gras) :

from tkinter import *
import time

Pos_xcarre = 50
Pos_ycarre = 50
Pos_xrond = 5
Pos_yrond = 344
Pos_x2rondor = 270
Pos_y2rondor = 10
mv_xrond = 5
mv_yrondor = 5
move_xrond = 1
move_yrond = 0

main = Tk()
main.title("Bulle")
main.geometry("600x400")
main.iconbitmap("veste1.ico")

canvas = Canvas(main, width="600", height="400", bg="green")
canvas.pack()
rond = canvas.create_oval(Pos_xrond,Pos_yrond,Pos_xrond+40,Pos_yrond+40,fill='white')
<bold>carre = canvas.create_rectangle(50,50,70,70,fill='red')</bold>
plateforme = canvas.create_rectangle(3, 386, 597, 394, fill='yellow')
rond2 = canvas.create_oval(Pos_x2rondor, Pos_y2rondor, Pos_x2rondor + 60, Pos_y2rondor + 60, fill='#F5B50C')
main.resizable(width=False, height=False)

while 2:
    if Pos_xrond <= 558:
        time.sleep(0.007)
        canvas.move(rond, move_xrond, move_yrond)
        Pos_xrond += 1
        canvas.update()

    if Pos_xrond == 558:
        while Pos_xrond != 3:
            time.sleep(0.007)
            canvas.move(rond, -1, 0)
            Pos_xrond -= 1
            canvas.update()



def droite(event):
    canvas.move(carre, 50, 0)


def gauche(event):
    canvas.move(carre, -50, 0)


def haut(event):
    canvas.move(carre, 0, -50)


def bas(event):
    canvas.move(carre, 0, 50)


<bold>canvas.bind_all("<d>", droite)
canvas.bind_all('<q>', gauche)
canvas.bind_all('<z>', haut)
canvas.bind_all('<s>', bas)</bold>

main.mainloop()


Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE

1 réponse

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
3 avril 2020 à 16:50
Bonjour Simonn44_357,

Peux-tu m'expliquer un détail:

A quoi sert la boucle while 2: ???
0