AttributeError: type object ... has no attribute ...
Résolu
Alan.b
Messages postés
1
Date d'inscription
jeudi 11 juillet 2024
Statut
Membre
Dernière intervention
11 juillet 2024
-
Modifié le 15 juil. 2024 à 17:14
Utilisateur anonyme - 12 juil. 2024 à 09:22
Utilisateur anonyme - 12 juil. 2024 à 09:22
A voir également:
- AttributeError: type object ... has no attribute ...
- AttributeError: partially initialized module 'requests' has - Forum Python
- Attributeerror: 'list' object has no attribute 'split' - Forum Python
1 réponse
Bonjour.
Modifie le nom de la classe player en Player (ajout d'une majuscule).
class Player(pygame.sprite.Sprite): # sprite = element graphique pouvant se deplacer etc /joueur monstre def __init__(self): super().__init__() self.health = 100 self.max_health = 100 self.attack = 10 self.velocity = 5 self.image = pygame.image.load('assets/player.png') self.rect = self.image.get_rect()
Puis sous la ligne # charger notre joueur, ajoute :
player = Player()
12 juil. 2024 à 09:22
Bonjour
peut-être expliquer le pourquoi du comment.
Nommer une classe avec une majuscule en premier (Camel Case) fair partie des bonnes pratiques.
Quand à la variable player, comme toute variable en python, tant qu'on ne lui a pas affecté de valeur, python ne sait pas de quel type elle est (en plus de ne pas avoir de valeur).
Et dans ton cas, appeler la classe Player, aurait pu permettre de ne pas la confondre la variable player.