Question de débutant : Problème de classes dans un autre fichier
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:
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
Code:
From Classe import *
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