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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
AttributeError: 'Personnage' object has no attribute 'touche_sol'
Voici la classe Personnage :
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
Voilà, ce langage est assez nouveau pour moi,
Merci d'avance,

Deims