Bonjour a toutes et a tous ,
Je sollicite votre aide pour quelque chose sur lequel je bloque .
Voici ma classe :
Lorsque je lance mon main.py , j'ai ce message :
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 import pygame #creer une classe qui s'occuper des animations class AnimateSprite(pygame.sprite.Sprite): #definir les choses a faire a la creation de l'entité def __init__(self,sprite_name): super().__init__() self.image = pygame.image.load(f'assets/{sprite_name}.png') #commence l'anim a image 0 self.current_image = 0 self.images = animations.get(sprite_name) #definir une methode pour animer le sprite def animate(self): #passer a l'image suivante self.current_image += 1 #verifier si on atteint la fin de l'animation if self.current_image >= len(self.images): #remettre l'anim au depart self.current_image = 0 #actualiser l'image precedente par la suivante self.image = self.images[self.current_image] def load_animation_images(sprite_name): #charger les 24 images du sprite dans le dossier images = [] #recuperer le chemin du dossier pour ce sprite path = f"assets/{sprite_name}/{sprite_name}" #boucler sur chaque image dans ce dossier for num in range(1,24): image_path = path + str(num)+ '.png' images.append(pygame.image.load(image_path)) #renvoyer le contenu de la liste d'images return images #definir un dictionnaire qui va contenir les images chargées #de chaque sprite animations = { 'mummy': load_animation_images('mummy') }
Cela doit etre evident pour vous , mais je ne vois pas ou j'ai fauté . Peut etre une indentation ?
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 chris@chris:~/Bureau/Sauvegarde/copie3$ python3 main.py pygame 2.0.1 (SDL 2.0.14, Python 3.8.10) Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call last): File "main.py", line 73, in <module> game.start() File "/home/chris/Bureau/Sauvegarde/copie3/game.py", line 24, in start self.spawn_monster() File "/home/chris/Bureau/Sauvegarde/copie3/game.py", line 83, in spawn_monster monster = Monster(self) File "/home/chris/Bureau/Sauvegarde/copie3/monster.py", line 8, in __init__ super().__init__("mummy") File "/home/chris/Bureau/Sauvegarde/copie3/animation.py", line 12, in __init__ self.images = animations.get(sprite_name) NameError: name 'animations' is not defined chris@chris:~/Bureau/Sauvegarde/copie3$
D'avance , merci de votre aide
Partager