Bonjour, Bonsoir à tous!

Je me permet de créé un poste pour vous demander de l'aide.
Je suis actuellement en terminal S, spécialité ISN et je n'ai malheureusement pas un seul prof à ma disposition.

J'aimerais, comme dit dans l'intitulé, programmé les mouvements de mon personnages a l'aide des touches directionnels. Cependant, je veut programmé deux type de déplacement: un vue de dessus à la Binding of Isaac et un de profil à la Rogue Legacy, celui-ci ayant un système de "pesanteur" pour pouvoir sauter et retomber).
J'ai commencer un programme qui lorsque j'appuie sur jouer, me lance une zone de déplacement avec un carré que je suis censé pouvoir déplacé mais je n'y arrive pas. J'ai cependant constaté que dans ma fenêtre d’accueil, où se trouve le bouton "Jouer" et "Quitter", lorsque j'appuie sur les touches et qu'ensuite je lance Jouer, le carré s'est déplacé.
J'aimerais donc savoir pourquoi, lorsque je suis sur la fenêtre où je peut voir le carré, je ne peut pas le déplacer.

Je vous met ci-joint le programme,

En vous remerciant de votre aide,
Cordialement,
Je ne sais pas c'est quoi mon pseudo.

PS : désolé pour mon français non exemplaire, je suis un peu fatigué en ce moment. Et si vous savez comment on met les indices en "spoils" je suis preneur, j'ai oublié avec le temps.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from tkinter import*
##from tkinter.messagebox import*
from math import*
from random import*
##from tkinter.filedialog import*
 
fenetre = Tk()
fenetre.title("My Game")
coords = (0,0)
 
def Up (event):
    global coords
    touche=event.keysym
    if touche == "Up":
          coords = (coords[0], coords[1] - 9)
def Down (event):
    global coords
    touche=event.keysym
    if touche == "Down":
        coords = (coords[0], coords[1] + 9)
def Right (event):
    global coords
    touche=event.keysym
    if touche == "Right":
        coords = (coords[0] + 9, coords[1])
def Left (event):
    global coords
    touche=event.keysym
    if touche == "Left":
        coords = (coords[0] - 9, coords[1])
def Return (event):
    touche=event.keysym
    if touche == "Return":
        Jouer
def Escape (event):
    touche=event.keysym
    if touche == "Escape":
        fenetre.destroy
 
fenetre.bind('<Up>',Up)
fenetre.bind('<Down>', Down)
fenetre.bind('<Right>', Right)
fenetre.bind('<Left>', Left)
fenetre.bind('<Return>', Return)
fenetre.bind('<Escape>', Escape)
 
def Jouer():
    global coords, clavier
    can.grid_forget()
    boutonQ.grid_forget()
    boutonJ.grid_forget()
    canvas = Canvas(fenetre, width=800, height=600, bg="white")
    rectangle = canvas.create_rectangle(0,0,12,12,fill="green")
    canvas.coords(rectangle, coords[0], coords[1], coords[0]+9, coords[1]+9)
    canvas.focus_set()
    canvas.bind("<Key>")
    canvas.grid()
 
photointro=PhotoImage(file="Monstro.png")
can = Canvas(fenetre,bg='white',width=300, height=150)
img=can.create_image(0,0,anchor='nw',image=photointro)
can.grid(row=0,column=0,columnspan=2,sticky=N+S+E+W,padx=4,pady=4)
 
boutonJ=Button(fenetre, text="  JOUER  ",font=('arial',15), command=Jouer)
boutonJ.grid(row=1,column=0,sticky=W,padx=2,pady=2)
 
boutonQ=Button(fenetre, text="QUITTER",font=('arial',15), command=fenetre.quit)
boutonQ.grid(row=1,column=1,sticky=E,padx=2,pady=2)
 
fenetre.mainloop()