Bonsoir,
Je m'appelle Mickaël et je suis confronté à un petit problème avec le langage python que je n'arrive pas à résoudre. J'utilise la Bibliothèque Pygame pourla réalisation d'un petit moteur de jeux.
J'ai une classe "AnimatedObject" qui fonctionne parfaitement et une classe "Personnage" qui doit hériter de celle-ci.
Jusque là, tout fonctionne. Mais voilà, la classe AnimatedObject possede un fonction update(). C'est cette fonction qui est appeller pour mettre à jour l'état de l'objet. J'aimerais dans ma classe Personnage créer la meme fonction update executant le même code mais avec des choses en plus.
A première vue, ca fonctionnait mais de que j'utilise des attribut propre a personnage, le compilateur râle et me dit :
Voici la classe Personnage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part AttributeError: 'Personnage' object has no attribute 'touche_sol'
Voilà, ce langage est assez nouveau pour moi,
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 import pygame, random from pygame.locals import * from AnimatedObject import AnimatedObject class Personnage(AnimatedObject): #constructeur def __init__(self, config="bin/xml/personnage.xml", pFps=3): #appel constructeur parent AnimatedObject.__init__(self, config, pFps) self.touche_sol=0 self.gravity=3 self.saut=0 self.hauteur_saut=20 def update(self, t, width, height): AnimatedObject.update(self, t, width, height) #Saut if self.touche_sol==0: if self.saut <=self.hauteur_saut: self.saut+=self.gravity if (self.y>=380): self.touche_sol=1 self.y=380 def sauter(self,ground): if(self.touche_sol): self.touche_sol=0 self.saut=-self.hauteur_saut
Merci d'avance,
Deims
Partager