Autres exemples
Une structure de code pour avoir des menus et plusieurs pages
import pygame
def page_accueil():
continuer = True
while continuer:
clock.tick(30)
# Tracé des éléments de la page
fen.fill(BLANC)
dessin_text1 = police.render("1 : Page 1", 1, ROUGE)
fen.blit(dessin_text1, (100,100))
dessin_text2 = police.render("2 : Page 2", 1, ROUGE)
fen.blit(dessin_text2, (100, 190))
dessin_text_quitter = police.render("Echap : Quitter", 1, ROUGE)
fen.blit(dessin_text_quitter, (100, 280))
pygame.display.flip()
# Navigation dans les pages
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_KP1:
continuer = False
page_1()
elif event.key == pygame.K_KP2:
continuer = False
page_2()
elif event.key == pygame.K_ESCAPE:
continuer = False
pygame.quit()
def page_1():
continuer = True
while continuer:
clock.tick(30)
# Tracé des éléments de la page
fen.fill(BLEU)
dessin_text1 = police.render("Echap : Retour au menu", 1, ROUGE)
fen.blit(dessin_text1, (100,100))
pygame.display.flip()
# Navigation dans les pages
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
continuer = False
page_accueil()
def page_2():
continuer = True
while continuer:
clock.tick(30)
# Tracé des éléments de la page
fen.fill(VERT)
dessin_text1 = police.render("Echap : Retour au menu", 1, ROUGE)
fen.blit(dessin_text1, (100,100))
pygame.display.flip()
# Navigation dans les pages
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
continuer = False
page_accueil()
# ===== Programme principal =====
pygame.init()
LARGEUR = 800
HAUTEUR = 600
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
ROUGE = (255, 0, 0)
VERT = (0, 255, 0)
BLEU = (0, 0, 255)
fen = pygame.display.set_mode((LARGEUR, HAUTEUR))
clock = pygame.time.Clock()
police = pygame.font.SysFont('freesans', 50)
page_accueil()