Bonjour
Je suis en pleine creation d'un jeu et je rencontre un problème lorsque je veux faire détecter a mon héros une plateforme. En effet, lorsque je deplace mon heros, il traverse tout simplement l'image de la plateforme tandis que je voudrais qu'elle lui serve de "sol". J'ai alors penser a utiliser la fonction find_closest et la fonction bbox pour interdire le rectangle correspondant a la plateforme la plus proche de mon heros mais une erreur s'affiche lorsque je lance mon jeu. Pourriez vous m'aider s'il vous plait.
Voici le code:
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
 
X=[]
Y=[]
def traitement2(event):
    global  dessin3,heros
    pas = 10
    def deplaceImage(dx,dy):
        global dessin3,heros,X,Y,x,y
        x,y=heros.coords(dessin3)
        num_plat =dessin3.find_closest(x,y)
        coords_plat = dessin3.bbox(num_plat)
        print(coords_plat)
        X.append([coords_plat[0],coords_plat[2]])
        Y.append([coords_plat[1],coords_plat[3]])
        dessin3.move(heros,dx,dy)
    def clavier(event,Dx,Dy):
        deplaceImage(Dx,Dy)
 
    monJeu.bind("<Left>", lambda event : clavier(event, -pas,0))
    monJeu.bind("<Right>", lambda event : clavier(event, pas,0))
    monJeu.bind("<Down>", lambda event : clavier(event, 0,pas))
    monJeu.bind("<Up>", lambda event : clavier(event, 0,-10*pas))
 
 
 
    monJeu= Toplevel()
    monJeu.focus_force()     
    dessin3 = Canvas(monJeu,bg='darkgrey',height=800,width=800)
    dessin3.pack()
    imgfond=PhotoImage(file=chemin_fichier+'\\fond.png')
    fond = dessin3.create_image(400,800, image=imgfond,anchor='s')
    imgHeros =PhotoImage(file=chemin_fichier+'\\heros.png') 
    Heros = dessin3.create_image(400,670, image=imgHeros)
 
 
    imgPlateform =PhotoImage(file=chemin_fichier+'\\plateforme.png')
    Liste_coord= [[500,500],[250,450],[150,150],[230,300],[400,400],[700,150],[650,300],[400,200]]# Creation des plateformes
    for k in Liste_coord:
        dessin3.create_image(k[0],k[1] ,image=imgPlateform)