Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Chargement d'une texture  (Lu 2176 fois)

0 Membres et 1 Invité sur ce sujet

MasterKey

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Chargement d'une texture
« le: Novembre 01, 2016, 07:49:44 am »
Bonjours , J'ai un probleme pour charger ma Texture ... je regarder beaucoup de tuto mais je trouve pas l'erreur

#pragma region variables
sf::RenderWindow window;
sf::RectangleShape rect;
sf::RectangleShape PB_Rect;
sf::Texture perso;
sf::Sprite sprite_perso;
void gestion_clavier();
#pragma endregion variables


 
int main()
{
   window.create(sf::VideoMode(500, 600), "idk");

   
   if (!perso.loadFromFile("player.png"))
   {
      std::cout << "Erreur de chargement" << std::endl;
   }


      while (window.isOpen())
   {
      sf::Event event;
      while (window.pollEvent(event))
      {
         if (event.type == sf::Event::Closed)
            window.close();
      }


      //Gestion du clavier
      gestion_clavier();


      //Mise a jours
   
      
      window.display();
      window.clear();
   }

   return 0;
}


j'ai fait sa pour la charger , jai aucune erreur mais dans ma console on m'indique : Failed to load Image "player.png".Reason :Unable to open file //Erreur de chargement

Pourtant je fait comme dans les tuto , quelqu'un sais pourquoi j'arrive pas a charger ma Texture? :-\

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Chargement d'une texture
« Réponse #1 le: Novembre 01, 2016, 11:40:36 am »
Sûrement qu'elle n'est pas au bon endroit.
La fonction loadFromFile échoue parfois sans raison apparente. Première chose à faire, vérifiez le message d'erreur affiché par SFML dans la sortie standard (la console). Si le message est unable to open file, assurez-vous que le répertoire de travail (qui est le répertoire relativement auquel tout fichier sera interprété) est celui auquel vous vous attendez : lorsque vous lancez votre application depuis l'explorateur de fichiers, le répertoire de travail est le répertoire de l'exécutable, pas de problème généralement dans ce cas ; mais si vous lancez votre programme depuis votre EDI (Visual Studio, Code::Blocks, ...) alors le répertoire de travail est parfois le répertoire du projet. Pas de panique : cela peut normalement être modifié directement dans les options de votre projet.

MasterKey

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Chargement d'une texture
« Réponse #2 le: Novembre 01, 2016, 03:31:08 pm »
Okok, mais quand vous dite pas au bon endroit vous voulez dire quoi?(desoler je suis debutant ^^) sfml parle de changer quelque chose depuis la proprietie mais c'est quoi s.v.p ?:p

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Chargement d'une texture
« Réponse #3 le: Novembre 02, 2016, 11:50:43 pm »
Le chemin que tu donnes là c'est "player.png", et c'est à partir du répertoire de travail.
Quand tu lances ton programme avec Visual Studio, le répertoire de travail par défaut c'est le répertoire du projet, là où il y a tes .cpp je crois, et c'est là que tu dois mettre l'image si tu veux y accéder avec un simple "player.png".
(Alors que si tu lances ton programme directement en cliquant sur l'exe le répertoire de travail c'est là où il y a l'exe)

Bref, elle est où ton image ?

Deathtreak

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
    • E-mail
Re : Chargement d'une texture
« Réponse #4 le: Novembre 05, 2016, 10:20:16 am »
Pour être tranquille , il faut généralement mettre les ressources dont tu as besoin directement dans le répertoire du projet , la ou tu as ton .cpp tu doit avoir un dossier qui se nomme Release et un un autre Debug , il faut que tu mette ton image dedans et alors tu pourra l'ouvrir en indiquant seulement player.png dans ton code.
Plus tard si tu met de la musique c'est pareil , tout devra être dans ces deux dossier. D'ailleurs la SFML ne lit que des .ogg donc il faudra convertir tes sons :)