Besoin d'un coup de main: canvas et Tkinter
Bonjour,
Débutant en programmation, il m'arrive très régulièrement de bloquer sur la moindre ligne de code.
Néanmoins, même après des recherches désespérées sur internet, je suis confronté à un problème que je ne comprend pas, et que je ne sais résoudre.
Je découvre ces derniers temps les fenêtres custom.
J'ai voulu essayer de créer un simple point, et de le faire se déplacer sur un plan, avec les flèches du clavier.
Code:
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
| from Tkinter import *
x=300
y=300
def right(event):
x+=5
def left(event):
x-=5
def down(event):
y+=5
def up(event):
y-=5
fen = Tk()
can = Canvas(width=600,height=600,bg="red")
can.create_line(x,y,x,y,fill="lightblue",width="5")
can.pack()
fen.bind('<Right>',right)
fen.bind('<Left>',left)
fen.bind('<Up>',up)
fen.bind('<Down>',down)
fen.mainloop() |
Et j'obtient un message d'erreur à chaque fois que j'appuie sur une flèche, m'indiquant que la variable incrémenté/décrémenté n'est pas définie ?
Code:
1 2 3 4 5
| File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in __call__
return self.func(*args)
File "C:/Users/*****/Desktop/*****.py", line 10, in down
y+=1
UnboundLocalError: local variable 'y' referenced before assignment |
Voilà voilà.
La moindre aide est la bienvenue, merci d'avance.