CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Problème bouton sur pygame

DébutPage précedente
1
Page suivantePage suivante
ExiledKnight ExiledKnight
MP
Niveau 1
12 février 2020 à 21:04:36

Bonjour, j'ai un problème sur mon programme pygame au niveau d'un bouton servant à quitter le menu,
à savoir que quand on clique n'importe ou sur la fenêtre avec la souris cette dernière se ferme alors que je souhaiterais qu'elle se ferme uniquement si l'utilisateur clique sur le bouton ou quitte le jeu.
C'est peut-être une erreur idiote mais je ne la trouve pas, merci pour l'aide!
Voilà le code;

import pygame
from pygame.locals import *

from classes import *
from constantes import *

pygame.init()
pygame.font.init()

font = pygame.font.SysFont('helvetic', 70)
fenetre = pygame.display.set_mode((cote_fenetreL, cote_fenetrel),RESIZABLE)
icone = pygame.image.load(image_icone)
pygame.display.set_icon(icone)
pygame.display.set_caption(titre_fenetre)

continuer = 1
while continuer:
accueil = pygame.image.load(image_accueil).convert()
fenetre.blit(accueil, (0,0))

continuer_jeu = 1
continuer_accueil = 1

bouton1 = pygame.image.load("images/boutonquit.png").convert_alpha()
fenetre.blit(bouton1, (50,50))
bouton1_rect = bouton1.get_rect()
texteb1 = 'Quit?'
TEXT = font.render(texteb1, 1, (255,255,255))
fenetre.blit(TEXT, (50, 50))

pygame.display.flip()

while continuer_accueil:
pygame.time.Clock().tick(60)

for event in pygame.event.get():
if pygame.mouse.get_focused():
x, y = pygame.mouse.get_pos()
collide = bouton1_rect.collidepoint(x, y)

if collide:
TEXT = 'Click to quit'
else:
TEXT = 'Quit?'

pressed = pygame.mouse.get_pressed()
if event.type == QUIT or pressed[0]:
continuer_accueil = 0
continuer_jeu = 0
continuer = 0
choix = 0

elif event.type == KEYDOWN:
#Lancement du niveau 1
if event.key == K_F1:
continuer_accueil = 0 #On quitte l'accueil
choix = 'n1'

if choix != 0:
#Chargement du fond
fond = pygame.image.load(image_fond).convert()

#Génération d'un niveau à partir d'un fichier
niveau = Niveau(choix)
niveau.generer()
niveau.afficher(fenetre)

#Création du perso
perso = Perso("images/persod.png", "images/persog.png",
"images/persoh.png", "images/persob.png", niveau)

while continuer_jeu:
pygame.time.Clock().tick(60)

for event in pygame.event.get():
if event.type == QUIT:
continuer_jeu = 0
continuer = 0

elif event.type == KEYDOWN:
if event.key == K_ESCAPE:
continuer_jeu = 0

elif event.key == K_RIGHT:
perso.deplacer('droite')
elif event.key == K_LEFT:
perso.deplacer('gauche')
elif event.key == K_UP:
perso.deplacer('haut')
elif event.key == K_DOWN:
perso.deplacer('bas')

fenetre.blit(fond, (0,0))
niveau.afficher(fenetre)
fenetre.blit(perso.direction, (perso.x, perso.y)) #dk.direction = l'image dans la bonne direction
pygame.display.flip()

pygame.quit()

Je pense que c'est au niveau de la détéction de la souris sur le bouton, car le collide ne fonctionne pas :/

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment