Bonjour à tous.
Je débute totalement avec Python et je bloque sur un truc qui va certainement vous paraitre tout bête
Dans mon fichier principal : j'ai ce code qui marche. Mon objectif étant de faire des "Boutons"
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#Importation des différentes modules nécessaires"
import pygame
from pygame.locals import *
 
 
 
class BouttonLettre:
    """Cette classe permet de créer les bouton avec les différentes lettres
        Un bouton du clavier est défini :
        -sa valeur
        sa position"""
    hovered = False
 
    def __init__(self, text, pos):
        self.text = text
        self.pos = pos
        self.set_rect()
        self.draw()
 
    def draw(self):
        self.set_rend()
        fenetre.blit(self.rend, self.rect)
 
    def set_rend(self):
        self.rend = police.render(self.text, True, self.get_color())
 
    def get_color(self):
        if self.hovered:
            return (255, 255, 255)
        else:
            return (100, 100, 100)
 
    def set_rect(self):
        self.set_rend()
        self.rect = self.rend.get_rect()
        self.rect.topleft = self.pos
 
 
#Innitialisation de pygame"
pygame.init()
police = pygame.font.Font('BradBunR.ttf', 60)
#Création de la fenêtre principale
fenetre = pygame.display.set_mode((1150,700))
pygame.display.set_caption("Jeu du pendu ")
fond = pygame.image.load("images/backgroundJeu.jpg").convert()
fenetre.blit(fond,(0,0))
 
#Création d'une boucle infinie
continuer = 1
 
bouttonA = BouttonLettre("A", (140, 105))
 
#Rafraîchissement de l'écran
pygame.display.flip()
 
#Création d'une boucle infinie
while continuer:
   for event in pygame.event.get():   #On parcours la liste de tous les événements reçus
        if event.type == QUIT:     #Si un de ces événements est de type QUIT
            continuer = 0
Ce n'est pas moi qui ait créé la classe, c'est un bout de code que j'ai trouvé sur internet.
Par contre si je copie la classe dans un fichier Classe.py et que dans mon fichier principal j'ajoute
J'ai une erreur me disant :
self.rend = police.render(self.text, True, self.get_color())
NameError: name 'police' is not defined

Est ce que quelqu'un peut m'expliquer pourquoi ca ne fonctionne pas
Merci d'avance pour votre aide
Fred