Bonjour, en utilisant la SFML je me suis heurté à un problème avec la méthode loadFromFile. Lorsque que j'utilise cette méthode dans une fonction, dans un constructeur ou dans une méthode, je vois apparaître le messages : "Unable to load file". Pour information j'ai essayer le code sur différent IDE et système d'exploitation (Linux, Windows, Visual Studio, Code::Blocks, Makefile, etc ... ), rien n'a voulu fonctionner ...
Première chose, le sprite que tu passes à ta fonction ne sera jamais modifié car ici tu fais un passage par copie, utilise une référence. Et dans l'état actuel de ton code, tout ce que tu afficheras c'est un sprite vide.
Ensuite, lorsque l'on crée une variable, celle-ci est détruite en fin de scope. Donc ta texture existe uniquement dans la fonction load(...). Or une texture doit exister tant que le programme tourne, ou du moins tant qu'elle est utilisée. Un sprite étant une "représentation" d'une texture chargée en mémoire, si celle-ci n'existe plus... ça va pas le faire, le sprite n'aura rien a afficher.
Autre chose, j'imagine que c'est une erreur d'inattention mais, si tu ne retires pas le " ; " qui signale une fin d'instruction au niveau de ta condition qui vérifie le chargement de la texture, tu te prendras à tous les coups l'exception qui suit.
Dernière chose, vérifie bien le chemin de ta texture, la première erreur vient de là.
Maintenant je peux te conseiller de revoir ta fonction, plutôt que d'essayer de charger une texture et de modifier un sprite, elle devrait juste en créer un basé sur une texture préalablement chargée que tu passerais à cette fonction, histoire de bien séparer les tâches entre le chargement de la texture et la création d'un sprite. Ce sont 2 choses différentes.
Et si tu n'arrives toujours pas à charger le fichier après cela:
1- vérifie que le chemin d'accès vers le fichier est correct : s'il s'agit d'un chemin relatif, il sera calculé à partir du dossier d'exécution de ton programme
2- vérifie que tu as les droits d'accès requis pour accéder au fichier que tu veux charger.
3- vérifie (mais le problème se pose essentiellement sous windows) que le fichier en question n'est pas utilisé par une autre application lorsque tu essayes de le charger.
Certaines applications ont en effet la fâcheuse habitude de placer un "lock" qui signal au système d'exploitation qu'il doit empêcher l'accès au fichier qu'elles utilisent.
C'est surtout (mais pas uniquement) le cas pour les applications qui ont pour objectif de modifier le fichier en question
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Merci beaucoup pour ton aide, je ferai attention à ces détails la prochaine fois
SFML méthode loadFromFIle, problème de chargement
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
...