Problème importation d'image pygame
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
Code:
1 2
| image = pygame.image.load(filename)
FileNotFoundError: No such file or directory. |
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.
le code :
fichier main :
Code:
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:
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 :
Code:
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 |
Merci beaucoup pour le temps pris pour lire et pour toutes les réponses que je pourrais avoir :D
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é