Bonjour à tous,

je suis en train de coder un petit jeu et j'aimerais faire un menu pause. J'ai déjà l'image qui me permet d'afficher le menu et sur laquelle je placerai les boutons. Mon soucis est que mon image s'affiche bien mais elle ne reste pas affichée à l'écran... Comment faire?
voici mon code dans un petit programme fonctionnel:

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
 
import os
import random
import pygame
from pygame.locals import *
 
pygame.init()
 
os.environ["SDL_VIDEO_WINDOW_POS"] = "0, 28" #positionne la fenêtre sur l'écran d'ordinateur
 
fenetre = pygame.display.set_mode((1535, 794))
from bibliotheque.affichage import ecran #importation du module ecran
 
arriere_plan = pygame.image.load("images/montagne_debut_jeu.jpg").convert() #image fond d'écran
 
x = 443 #x,y coordonnés d'apparition du personnage
y = 80
 
nx = 0 #coordonnées permettant le mouvement. Elles sont à 0 au début
ny = 0
 
pex = 500#random.randint(415,1115)
pey = 350#random.randint(65,750)
print(pex, pey)
 
pas_pepite_x = (((int(pex / 57))+1)*57)
pas_pepite_y = (((int(pey / 57))+1)*57)
print(type(pas_pepite_x))
print(type(pas_pepite_y))
print(pas_pepite_x,pas_pepite_y)
 
pyrx = 700#random.randint(415,1115)
pyry = 350#random.randint(65,750)
print(pyrx,pyry)
 
pas_pyr_x = (((int(pyrx / 57))+1)*57)
pas_pyr_y = (((int(pyry / 57))+1)*57)
print(type(pas_pyr_x))
print(type(pas_pyr_y))
print(pas_pyr_x,pas_pyr_y)
 
personnage = pygame.image.load("images/perso.jpg").convert()
 
pepite_or = pygame.image.load("images/pepite_d_or.jpg").convert()
pepite_or_rect = pepite_or.get_rect(topleft =((pas_pepite_x), (pas_pepite_y)))
 
pyrite = pygame.image.load("images/pyrite.jpg").convert()
pyrite_rect = pyrite.get_rect(topleft = ((pas_pyr_x), (pas_pyr_y)))
 
position_perso = personnage.get_rect()#créer un rectangle sur le personnage
position_perso.center = x , y
 
terrain = pygame.Surface((770,725)).convert()#surface permettant la création des bordures du terrain
terrain_rect = terrain.get_rect(topleft =(429,59))
 
menu = pygame.image.load("images/menu.png").convert()
 
echap = 1
jeu = 1
py = True #boléen pour la pyrite
while jeu:
    for event in pygame.event.get():       
        if event.type == QUIT:
            jeu = 0
        if event.type == KEYDOWN:
 
            if event.key == K_ESCAPE and echap == 1:
                fenetre.blit(menu,(560,220))
                pygame.display.update()
                echap = 0
                print("boubou")
 
            if event.key == K_ESCAPE and echap == 0:
                echap = 1
                fenetre.blit(arriere_plan,(0,0))
                fenetre.blit(pepite_or,pepite_or_rect)
                fenetre.blit(pyrite, pyrite_rect)
                fenetre.blit(personnage, position_perso)
                pygame.display.flip()            
 
            if event.key == K_w: #carac == 'z': #si la valeur de la touche est celle de z alors
                nx = 0 #tu n'avance pas en x mais
                ny = -57#tu recules en y
                position_perso = position_perso.move(nx,ny)#variable permettant le mouvemment avec nx et ny
 
            if event.key == K_s:
                nx = 0
                ny = 57
                position_perso = position_perso.move(nx,ny)
 
            if event.key == K_d:
                nx = 57
                ny = 0
                position_perso = position_perso.move(nx,ny)
 
            if event.key == K_a:
                nx = -57
                ny = 0
                position_perso = position_perso.move(nx,ny)
 
            if pepite_or_rect.collidepoint(position_perso.topleft):
                nx = 0
                ny = 0
                print("ok")
                jeu = 0
 
            if pyrx == pex and pyry == pey:
                pyrx = random.randint(415,1115)
                pyry = random.randint(65,750)
                pas_pyr_x = (((int(pyrx / 57))+1)*57)
                pas_pyr_y = (((int(pyry / 57))+1)*57)
                pyrite_rect = pyrite.get_rect(topleft = ((pas_pyr_x), (pas_pyr_y)))
 
            if pyrite_rect.collidepoint(position_perso.topleft) and py == True:
                pex = random.randint(415,1115)
                pey = random.randint(65,750)
                pas_pepite_x = (((int(pex / 57))+1)*57)
                pas_pepite_y = (((int(pey / 57))+1)*57)
                pepite_or_rect = pepite_or.get_rect(topleft =((pas_pepite_x), (pas_pepite_y)))
                print("tout marche")
                py = False
 
 
            position_perso.clamp_ip(terrain_rect)
            pepite_or_rect.clamp_ip(terrain_rect)
            pyrite_rect.clamp_ip(terrain_rect)
 
        fenetre.blit(arriere_plan,(0,0))
        fenetre.blit(pepite_or,pepite_or_rect)
        fenetre.blit(pyrite, pyrite_rect)
        fenetre.blit(personnage, position_perso)
        pygame.display.flip()
 
 
 
pygame.quit()
merci à tous de m'avoir lu