Bonjour, je crée un programme où le but est de cliquer sur un bulle quand elle apparait, puis une nouvelle apparait et ainsi de suite mais j'ai 1 questions et 1 problème... Voici mon code :
import pygame
import random, time, os
from pygame.locals import *
#éléments importés
logo = pygame.image.load("assets/logo1.1.png")
bg = pygame.image.load("assets/galaxie-30067.jpg")
a1 = pygame.image.load("assets/accueil1_1.png")
bulle = pygame.image.load("assets/bulle.png")
bulle_rect = bulle.get_rect()
pygame.init()
clock = pygame.time.Clock()
font = pygame.font.Font(None , 64)
blue = pygame.Color("white")
orig_surf = font.render('Appuyez sur espace pour jouer', True, blue)
txt_surf = orig_surf.copy()
alpha_surf = pygame.Surface(txt_surf.get_size(), pygame.SRCALPHA)
alpha = 0
fade_in = True
#générer la fenêtre
pygame.display.set_caption("Pygo")
screen = pygame.display.set_mode((1200,800), RESIZABLE)
running = True
while running:
for event in pygame.event.get():
# evenement est fermeture de fenêtre
if event.type == pygame.QUIT:
running = False
pygame.quit()
# début du jeu
elif event.type == KEYDOWN:
if event.key == pygame.K_SPACE:
print("space")
screen.blit(bg, (0, 0))
pygame.display.flip()
#position du x
xbulle = random.randint(1, 1100)
print(xbulle)
#position du y
ybulle = random.randint(1, 700)
print(ybulle)
#apparition de la bulle
screen.blit(bulle, (xbulle, ybulle))
pygame.display.flip()
for event in pygame.event.get():
print ("test1")
if event.type == MOUSEBUTTONDOWN:
if bulle_rect.collidepoint():
print("touché")
#opacité
if alpha >= 0 and fade_in is True:
alpha += 5
if alpha >= 255:
alpha = 255
fade_in = False
#opacité
if alpha <= 255 and fade_in is False:
alpha -= 5
if alpha <= 0:
alpha = 0
fade_in = True
#affichage du texte + du fond d'écran d'accueil
txt_surf = orig_surf.copy()
alpha_surf.fill((255, 255, 255, alpha))
txt_surf.blit(alpha_surf, (0, 0), special_flags=pygame.BLEND_RGBA_MULT)
screen.blit(a1, (0, 0))
screen.blit(txt_surf, (280, 725))
pygame.display.flip()
- Problème : juste après mon apparition de la bulle (ligne 59) ça revient a mon écran d'accueil directement
- Question : est-ce que mon code (ligne 62) , vérifier si ça clique bien dans la zone, est correct ?
encore une fois, suis le déroulement de ta boucle et de ton programme: si plus d'évènements, on sort de la boucle de gestion des événements et on fait la suite
Pygame event
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.