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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.