Problème avec les événement personalisés PyGame
Résolu
Enz0lanterne828
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
Enz0lanterne828 Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Enz0lanterne828 Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai 12 ans et je code en python, en ce moment j'utilise le module PyGame.
J'ai un problème avec la commande
Lorsque je créer 1 événement tout va bien:
Mais lorsque je rajoute 1 événement ou plus il y a un problème:
Le problème est que peu importe sur quel bouton je clique le programme prend la première codition (ici qui est:
Donc si je clique sur le bouton quiter, le programme me mène vers le options et pareil pour le bouton jouer...
Auriez-vous une solution SVP ?
Merci d'avance.
J'ai 12 ans et je code en python, en ce moment j'utilise le module PyGame.
J'ai un problème avec la commande
pygame.time.set_timer.
Lorsque je créer 1 événement tout va bien:
QUIT_GAME = pygame.USERVENT elif event.type == pygame.MOUSEBUTTONUP: if boutons.bouton_quiter.rect.collidepoint(event.pos) and menu: boutons.bouton_quiter.image = boutons.bouton_quiter.image_clique pygame.time.set_timer(boutons.QUIT_GAME, 10) elif event.type == boutons.QUIT_GAME: pygame.time.set_timer(boutons.QUIT_GAME, 0) quit()
Mais lorsque je rajoute 1 événement ou plus il y a un problème:
BRUIT = pygame.USERVENT SETTINGS = pygame.USEREVNT QUIT_GAME = pygame.USERVENT elif event.type == pygame.MOUSEBUTTONUP: if boutons.bouton_quiter.rect.collidepoint(event.pos) and menu: boutons.bouton_quiter.image = boutons.bouton_quiter.image_clique pygame.time.set_timer(boutons.QUIT_GAME, 10) if boutons.bouton_jouer.rect.collidepoint(event.pos) and menu: boutons.bouton_jouer.image = boutons.bouton_jouer.image_brule boutons.bouton_jouer.rect = boutons.bouton_jouer.new_rect feu.set_volume(1.8) feu.play() pygame.time.set_timer(boutons.BRUIT, 2700) if boutons.bouton_options.rect.collidepoint(event.pos) and menu: boutons.bouton_options.image = boutons.bouton_options.image_clique pygame.time.set_timer(boutons.SETTINGS, 10) elif event.type == boutons.SETTINGS: pygame.time.set_timer(boutons.SETTINGS, 0) menu = False option = True elif event.type == boutons.BRUIT: pygame.time.set_timer(boutons.BRUIT, 0) menu = False game = True elif event.type == boutons.QUIT_GAME: pygame.time.set_timer(boutons.QUIT_GAME, 0) quit()
Le problème est que peu importe sur quel bouton je clique le programme prend la première codition (ici qui est:
elif event.type == boutons.SETTINGS: ect...)
Donc si je clique sur le bouton quiter, le programme me mène vers le options et pareil pour le bouton jouer...
Auriez-vous une solution SVP ?
Merci d'avance.
A voir également:
- Problème avec les événement personalisés PyGame
- Evenement whatsapp - Accueil - WhatsApp
- Vous allez pouvoir organiser des événements au sein des groupes WhatsApp - Accueil - Messagerie instantanée
- Un evenement inattendu s'est produit league of legends ✓ - Forum jeux en ligne
- La description de l’id d’événement 153 dans la source nvlddmkm est introuvable. le composant qui a déclenché cet événement n’est pas installé sur l’ordinateur local ou l’installation est endommagée. vous pouvez installer ou réparer le composant sur l’ordinateur local. - Windows 11
- Evenement 10016 ✓ - Forum Windows 10
5 réponses
Bonjour,
Comment avez-vous créé la variable boutons et ses attributs (boutons.BRUIT, boutons.SETTINGS, etc.) ?
Comment avez-vous créé la variable boutons et ses attributs (boutons.BRUIT, boutons.SETTINGS, etc.) ?
Comme ceci:
# Importer PyGame import pygame # Bouton jouer class BoutonJouer(pygame.sprite.Sprite): def __init__(self): super().__init__() self.image = pygame.image.load('jouer.png') self.image_brule = pygame.image.load('jouer_brule.png') self.rect = self.image.get_rect() self.new_rect = self.image_brule.get_rect() self.new_rect.x = 200 self.new_rect.y = 163 self.rect.x = 200 self.rect.y = 320 # Bouton quiter class Quiter(pygame.sprite.Sprite): def __init__(self): super().__init__() self.image = pygame.image.load('quiter.png') self.image_clique = pygame.image.load('quiter_clique.png') self.rect = self.image.get_rect() self.rect.x = 100 self.rect.y = 670 # Bouton options class Options(pygame.sprite.Sprite): def __init__(self): super().__init__() self.image = pygame.image.load('options.png') self.image_clique = pygame.image.load('options_clique.png') self.rect = self.image.get_rect() self.rect.x = 150 self.rect.y = 500 bouton_jouer = BoutonJouer() bouton_options = Options() bouton_quiter = Quiter() BRUIT = pygame.USEREVENT QUIT_GAME = pygame.USEREVENT SETTINGS = pygame.USEREVENT
"boutons" c'est le nom du scripte python et pas une variable, le code que je vous ai donné et stocké à l’intérieur et pour le reste du code tout est dans un autre scripte nommer "main".
Donc lorsque je prend une variable venant du scripte "main" je dois mettre "boutons." avant pour dire que la variable viens du scripte "boutons"
Donc lorsque je prend une variable venant du scripte "main" je dois mettre "boutons." avant pour dire que la variable viens du scripte "boutons"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question