Problème d'affichage du menu sur pygame
Fermé
marinside
Messages postés
9
Date d'inscription
mercredi 19 décembre 2018
Statut
Membre
Dernière intervention
27 mars 2019
-
27 mars 2019 à 17:38
bhof - 28 mars 2019 à 09:31
bhof - 28 mars 2019 à 09:31
A voir également:
- Problème d'affichage du menu sur pygame
- Menu contextuel windows 11 retrouver l'affichage classique - Guide
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
1 réponse
Bonjour.
Beaucoup de problèmes dans ton code.
- pygame.display.set_mode ne doit être déclaré qu'une seule fois.
- pygame.display.update() ne doit être appelé qu'une seule fois (c'est une opération très coûteuse).
- Les chargements d'images (pygame.image.load) ne doivent JAMAIS être effectués dans une boucle, le chargement d'une image est une opération lente et coûteuse car accès disque, il faut charger les images une unique fois au début du script.
- Il faut revoir ce que doivent être les paramètres du blit.
Voici à peu près comment devrait être organisé ton code (j'ai essayé d'indenter ton code par déduction...).
Beaucoup de problèmes dans ton code.
- pygame.display.set_mode ne doit être déclaré qu'une seule fois.
- pygame.display.update() ne doit être appelé qu'une seule fois (c'est une opération très coûteuse).
- Les chargements d'images (pygame.image.load) ne doivent JAMAIS être effectués dans une boucle, le chargement d'une image est une opération lente et coûteuse car accès disque, il faut charger les images une unique fois au début du script.
- Il faut revoir ce que doivent être les paramètres du blit.
Voici à peu près comment devrait être organisé ton code (j'ai essayé d'indenter ton code par déduction...).
ecran = pygame.display.set_mode((700,700)).convert() fond = pygame.image.load("newyork.jpg") instructions = pygame.image.load("loris.jpg").convert() fond.blit(fond, (0,0)) pygame.display.flip() #pour que les instrcutions soient appliquées clock = pygame.time.Clock() # NE SERT PAS... def menu(): intro = True while intro: for event in pygame.event.get(): if event.type == pygame.QUIT: # pygame.quit() # quit() # KÉSAKO ? return # ecran = pygame.display.set_mode((700,700)).convert() # NON # fond = pygame.image.load("newyork.jpg") # NON # fond.blit(fond, (0,0)) # PAS ICI # pygame.display.update() #pour que les instrcutions soient appliquées # NON elif event.type == KEYDOWN: # ON UTILISE UN ELIF if event.key == K_RETURN: #jeu mode=2 # KÉSAKO ? img = fond # AUCUNE IDÉE SI CELA DOIT ÊTRE ÇA DANS TON CODE elif event.type == K_SPACE: # instructions=pygame.image.load("loris.jpg").convert() #toujours pas mais a faire info et regles # NON img = instructions # fenetre.blit(instructions,(0,0)) # D'OÙ SORT FENETRE ? ecran.blit(img, (0, 0)) pygame.display.update() menu() pygame.quit()