Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SFML] Fonction qui changerait l'image des sprites

Les sprites deviennent des carrés blancs

Sujet résolu
    4 mai 2008 à 15:27:46

    Bonjour à tous et à toutes,
    Comme indiqué dans le titre, je travaille avec la SFML (qui est super bien je trouve ^^ ), mais j'ai un problème.
    J'aimerais avoir une méthode ou une fonction, n'importe, qui puisse changer l'image d'un sprite.
    C'est ce que j'ai fait, l'ennui, au final ca m'affiche un carré blanc (il n'y a eu aucune erreur lors du chargement de l'image). J'ai donc pensé que la variable image était détruire....

    Donc j'ai pensé utiliser un vector qui stockerait toutes mes belles images :D ! Et donc quand je les affiche, je crée des nouveaux sprites et je leur "colle" les images (je ne sais pas si c'est une bonne méthode...)

    Ayant deux classes (App et Personnage) et que App est une classe Singleton, c'est elle qui contient ce vector.
    Et dans la classe Personnage, j'ai une méthode qui devrait me permettre d'afficher le sprite Personnage, mais celle-ci m'affiche un carré blanc encore :colere2:
    Je récupère pourtant le vector et je lui colle bien l'image qu'il faut.... CEPENDANT, si j'accède DIRECTEMENT à l'attribut vector, là elle m'affiche l'image.... (l'ennui c'est que normalement j'ai pas le droit d'après m@teo...)

    Mon code est un peu long, c'est pourquoi je ne l'expose pas ^^ !
    Mais est-ce que vous pouvez me donner des tuyaux ? Déjà au niveau du codage. Est-ce que mon idée de stocker les images puis de les afficher une par une n'est pas trop lourde ? Comment faire pour éviter ces carrés blancs ?

    Merci d'avance pour répondre à mes questions !
    • Partager sur Facebook
    • Partager sur Twitter
      4 mai 2008 à 17:50:30

      pour le TP mario sobokan (en C) m@theo avait chargé mario dans 4 direction dans un tableau a 4 cases puis a crée un pointeur *marioActuel qui pointe sur une des cases du tablea u(donc sur une des images) puis il blitte le pointeur (et donc l'image)
      apres, je n'arrive pas a decompresser la SFML donc je la connai pas, desoler ...
      • Partager sur Facebook
      • Partager sur Twitter
        4 mai 2008 à 18:32:09

        Oui mais la SFML ne se sert pas de pointeur (du moins si j'ai bien compris ^^ ) !
        Et puis si possible j'aimerais un programme exemple juste pour voir de "bons" exemples si possible !

        Merci d'avance
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          4 mai 2008 à 19:06:14

          Qu'est ce qu'un personnage? Un objet avec de la vie, de la force, ....., une apparence.
          Conclusion : le std::vector doit être l'attribut de la classe personnage. Pas dans App.

          Après, en fonction d'un évènement l'apparence peut changer -> Une fonction membre s'occupant de changer l'apparence en fonction d'un paramètre.

          Fais un code minimal pour essayer [avec seulement un sf::RenderWindow et un personnage].
          Si ça ne marche pas, montre ton code _minimal_ et on t'aidera.
          • Partager sur Facebook
          • Partager sur Twitter
            4 mai 2008 à 20:26:20

            Et bien j'ai fait une classe personnage pour gérer sa vie, ses mouvements, sa position.
            Le vector ne contient pas que les images du personnage mais aussi les images de l'environnement (mur, ...).
            Mais maintenant que tu me fais y penser, il serait plus propre et plus logique de faire deux vector d'images....
            Ca simplifierait largement le code et résout normalement mon problème !
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              5 mai 2008 à 14:43:34

              Est-ce que vous n'aurez pas une liste d'astuces à mettre en place ou de la documentation qui apprendrait comment faire pour "bien" coder ?

              Je sais qu'il n'y a pas de code miracle, mais il y a surement quelques tutoriaux pour éviter de tomber dans des pièges comme celui-ci ou pour rendre le code optimale ?!

              Merci d'avance !!!!
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                5 mai 2008 à 16:39:22

                Non, j'en ai pas. Mais avant de faire quoi que se soit (de complexe, telle qu'une classe) je passe par le papier [schéma]. Si j'ai un doute il me reste une option : rechercher un projet assez similaire, ou/et poster sur le forum.
                • Partager sur Facebook
                • Partager sur Twitter
                  5 mai 2008 à 18:06:05

                  D'accord, très bien !!
                  Je vais mettre ce poste en résolu !
                  Je n'ai pas encore eu le temps d'essayer mais je suis sûr que cela va réussir !

                  Merci pour toutes vos réponses !!! :D
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [SFML] Fonction qui changerait l'image des sprites

                  × 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.
                  • Editeur
                  • Markdown