Bonjour, je rencontre actuellement un problème d'importation d'image en python avec pygame. D'habitude quand je le fais ça marche sans soucis mais là ça ne veut pas et je ne sais pas pourquoi...
J'entre dans la commande pygame.image.load() l'adresse de mon image. Elle se trouve rangée dans plusieurs dossier donc j'indique le chemin sans soucis (pas la première fois que je le fais) sauf que là la console me retourne l'erreur suivante
J'ai alors pensé que j'avais du faire une erreur dans le chemin de l'image alors pour vérifier je l'ai mis dans le répertoire courant de mon programme. Il me sort la même erreur... L'image est au format PNG et à une dimension de 675x781.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 image = pygame.image.load(filename) FileNotFoundError: No such file or directory.
le code :
fichier main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import pygame import jeu import os if __name__ == "__main__": pygame.init() jeu = jeu.Jeu() jeu.run()
fichier jeu :
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 import pygame import pytmx import pyscroll import joueur import os class Jeu: def __init__(self): #générer la fenêtre du jeu self.ecran = pygame.display.set_mode((800,800))#range l'"cran dans l'objet courant self pygame.display.set_caption("Jeu de Matthieu") #charger la carte (tmx) tmx_data = pytmx.util_pygame.load_pygame("carte\depart_jeu.tmx")#permet d'importer et charger la carte carte_data = pyscroll.data.TiledMapData(tmx_data)#récupère les données tmx pour extraire la carte carte_layer = pyscroll.orthographic.BufferedRenderer(carte_data, self.ecran.get_size())#contient tous les calques de la carte regroupés sur la surface carte_layer.zoom = 2 #permet de zoomer sur la carte #générer un joueur self.joueur = joueur.Joueur() #dessiner le groupe de calque self.groupe = pyscroll.PyscrollGroup(map_layer = carte_layer, default_layer = 2)#default_layer permet de donner le niveau de calque d'un calque comme le perso self.groupe.add(self.joueur) def run(self): #générer la boucle du jeu jeu = True while jeu: self.groupe.draw(self.ecran)#dessine les calques sur l'écran pygame.display.flip() for event in pygame.event.get(): if event.type == pygame.QUIT: jeu = False pygame.quit()
fichier joueur :
Merci beaucoup pour le temps pris pour lire et pour toutes les réponses que je pourrais avoir
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 import pygame import os class Joueur(pygame.sprite.Sprite): def __init__(self): super().__init__() self.sprite_sheet = pygame.image.load("nouvel essai jeu de role/personnage/_PNG/1/1_IDLE_000.png") self.image = self.get_image(0,0) self.rect = self.image.get_rect() def get_image(self, x, y): image = pygame.Surface([32,32]) image.blit(self.sprite_sheet, (0,0), (x, y, 32, 32)) return image
P.S : je tiens à préciser que j'ai essayer de changer le sens des slash dans l'importation d'image mais ça n'a rien changé
Partager