Bonjour, je souhaite faire un jeu avec un rectangle comme bouton. Sauf qu'après l'avoir mit dans une classe il ne s'affiche plus mais il est toujours clickable
voici mon main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
import pygame
from ressources import Accueil
 
pygame.init()
 
# generer la fenetre du jeu
pygame.display.set_caption("Title")
fenetre = pygame.display.set_mode((1000, 600))
 
# charger nos classes
Accueil = Accueil(fenetre)
Service = Service()
 
Accueil.accueil()
 
# boucle tant que cette condition est vrai
running = True
while running:
 
    # Actualisation de l'affichage
    pygame.display.flip()
 
    # retourne 1 si le curseur est au dessus du rectangle
    mouse_xy = pygame.mouse.get_pos()
    over_start = Accueil.rect_start.collidepoint(mouse_xy)
    over_credit = Accueil.rect_credit.collidepoint(mouse_xy)
 
    # si le joueur ferme cette fenetre
    for event in pygame.event.get():
        # que l'evenement est fermeture de fenetre
        if event.type == pygame.QUIT:
            running = False
            pygame.quit()
            print("Fermeture du jeu")
        elif event.type == pygame.MOUSEBUTTONDOWN and over_credit:
                Accueil.credit()

et voici ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
import pygame
 
class Accueil:
 
    def __init__(self, fenetre):
        self.fenetre = fenetre
        self.background = pygame.Surface(self.fenetre.get_size())
        self.background.fill((0,0,0))
        self.rect_credit = pygame.draw.rect(self.fenetre, (0,255,8), [525, 375, 425, 50])
        self.font = pygame.font.Font(None, 70)
        self.Text_accueil = self.font.render("text bouton",1,(10,10,10))
        self.Text_credit1 = self.font.render("du text",1,(0,255,8))
 
    def accueil(self):
        # Ajout du fond dans la fenêtre
        self.fenetre.blit(self.background, (0, 0))
        # rect
        self.rect_credit
        # text
        self.fenetre.blit(self.Text_accueil, (625, 378))
 
    def credit(self):
        # Ajout du fond dans la fenêtre
        self.fenetre.blit(self.background, (0, 0))
        # text
        self.fenetre.blit(self.Text_credit1, (235, 100))