Partage
  • Partager sur Facebook
  • Partager sur Twitter

découper des sprites

comment faire???

    22 mars 2007 à 20:46:06

    salut je me suis mis a la création de jeux 2D et en ce moment je collecte tous les sprites que je rencontre mais je n'en trouve que collés sur la meme image(toutes les positions du perso sur la meme image donc je voudrais savoir ce que je dois faire pour bien les découper...!
    merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2007 à 20:48:29

      Salut,
      Tu connais paint?
      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2007 à 20:53:12

        Avec la SDL c'est tout à fait possible,voire ce tuto :)

        J'espère que c'est ce que tu voulais ;)
        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2007 à 20:54:59

          Citation :

          je voudrais savoir ce que je dois faire pour bien les découper...!


          C'est à dire? tu veux séparer toutes les positions dans des fichiers images différents?
          si oui:
          ->Il vaut mieux les laisser tel quel, puis dans ton programme utiliser la zone de l'image qui correspond au sprite que tu souhaites utiliser.

          Comment c'est possible?
          -> en utilisant des fonctionx comme SDL_BlitSurface() (voir le 4ème 2nd argument)

          Pourquoi?
          -> car au final tu ne charges qu'une seul image en mémoire: celle qui contient tout tes sprites. Ca réduite également largement le nombre de ligne de code de ton programme (répéter 50 fois SDL_LoadBMP(".."); ..)

          Pour avoir testé les deux méthodes, je préfère celle là, après à toi de juger ;)
          • Partager sur Facebook
          • Partager sur Twitter
            23 mars 2007 à 10:24:03

            Et si j'ais bien compris, la fonction SDL_BlitSurface()découpe la feuille de sprites et si on veux afficher le sprite N°... il suffit de le lui indiquer. C'est ca?
            • Partager sur Facebook
            • Partager sur Twitter
              24 mars 2007 à 11:32:30

              voila mais bon ce n'est pas le numero du sprite qu'il faut envoyer mais une variable de type SDL_Rect qu'on appellera sprite par exemple dont on positionne les champs sprite.x et sprite.y pour determiner le point en haut a gauche de la partie qu'on veut séparrer de la feuille et les champs sprite.w et sprite.h pour la largeur et la longueur de cette partie...et tu envoie &sprite dans le 2eme paramettre de SDL_BlitSurface au lieu de le mettre a NULL ;)
              Ca c'est pour découper mais j'ai toujours un probleme pour centrer les images c'est a dire pour créer une animation sans avoir l'impression que le perso bouge par exemple pour que le perso lance un sort les differentes images n'ont pas la meme taille donc le perso bougera dans tous les sens et l'animation sera moche
              • Partager sur Facebook
              • Partager sur Twitter
                23 janvier 2020 à 21:54:29

                Ce sujet est ancien, mais ce système, lui est toujours d'actualité. ce qu'il faut, c'est créer un spritesheet, une grande image qui contient toutes les images necessaires. Elles seront en PNG, et collées l'une à l'autre.. une liste des coordonnées de chacune d'elles, sera crée, le programme de jeu ou autre, chargera les 2 fichiers et à chaque frame, il prendra l'image en suivant les coodonnée X,Y dans l'ordre..
                Voir si ce programme peut convenir ;)
                https://www.codeandweb.com/sprite-sheet-maker
                • Partager sur Facebook
                • Partager sur Twitter

                Ne baisse jamais les bras, car c'est a ce moment là que le miracle risque de se produire..

                découper 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