Bonjour à vous tous !!

J'ai un problème que je n'arrive pas à résoudre :'(

En faite, je suis en train de faire un jeu et j'essaye d'incorporer un système de déplacement pour les ennemies (comme ceux de mario qui font des aller-retour à l'infini).

J'ai donc fais une classe pour les ennemis. Cependant, je n'arrive pas à modifier la position de l'ennemie en dehors de la classe..

Voici ce que j'ai fais :

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
61
#COULEUR
BLANC = (255,255,255)
NOIR =  (  0, 0, 0)
 
background = pygame.Surface(fenetre.get_size())
img_ennemie = pygame.Surface((60,60))
img_ennemie.fill(BLANC)
 
class Enemy():
    """Classe permettant la gestion des enemis"""
 
    def __init__(self, image, posX, posY):
        """Constructeur de la classe Enemy"""
 
        self.image = image
        self.rect = self.image.get_rect()
        self.posX = posX
        self.rect.x = posX
        self.rect.y = posY
 
        #distanceTravel
        self.distanceXtravel = 0
        self.distanceYtravel = 0
 
    def distanceTravel(self, vitesse, distanceTravel):
        """Fonction permettant la gestion du travel de l'ennemi:
                -distanceTravel : distance aller/retour que l'ennemi va faire (quand il va "rôder")"""
 
        self.distanceXtravel += vitesse
 
        self.rect.x =  (cos(self.distanceXtravel) * distanceTravel) + self.posX
 
    def update_ennemie(self):
        """Fonction permettant l'update de l'ennemie"""
 
        fenetre.blit(self.image,self.rect)
 
ennemie = Enemy(img_ennemie, 150, 50)
#Boucle événementielle
continuer = True
while continuer:
    clock = pygame.time.Clock()
    for event in pygame.event.get():
        if event.type == QUIT:
                continuer = False
 
 
    ennemie.rect.x += 100 #j'ai l'impression que cette commande ne fait rien, même si je met à += 1000
        print(ennemie.rect.x)
 
    #Logique de jeu
 
    ennemie.distanceTravel(0.01,100)
    fenetre.blit(background, (0,0))
 
    #L'affichage du jeu
    ennemie.update_ennemie()
 
    #Rafraichissement
    pygame.display.flip()
    clock.tick(60)


UN GRAND MERCI A VOUS !