Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ C / SDL ] Aide sur RPG 2D

Sujet résolu
    15 juin 2006 à 12:15:22

    Salut à tous, je suis tout nouveau sur le forum mais ça fait très longtemps que je suis les cours du site.
    Avec les chapitres sur la SDL j'ai décidé de me lancer dans la réalisation d'un rpg 2D mais j'ai un gros problème, je ne sais pas du tout comment m'y prendre pour faire défiler le décors, c'est à dire que sauf dans les cas où le perso est sur les bords de la map, je voudrais que le perso reste au centre et que ce soit le décors qui défile. Est ce qu'il y a un moyen de rentrer des coordonnées négatives pour avoir une image plus grande que la taille de l'écran ? Est ce que quelqu'un aurait une idée qui puisse m'aider ?
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2006 à 12:43:12

      Ouais, on peut mettre des coordonnées négatives mais faut un peu "gruger" : au lieu d'affecter des valeurs tout des suite à position.x et position.y (de type SDL_Rect) tu crée des variables temporaire (mettons tempX et tempY, de type long) auquel tu donnes les valeurs voulues.
      Puis tu fait
      position.x = tempX
      position.y = tempY

      Mais comme je le fais jamais, je dit peut-être des bêtises... Si qqn de mieux renseigné pouvait valider ou infirmer ce que je dit ^^ ...
      Bon courage à toi...
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2006 à 12:46:38

        si tu essaye de blitter une image avec des corrdonnées negatives, ton image sera afficher à 0,0. il faut utiliser le second parametre de SDL_BlitSurface. mais là j'ai pas trop de le temps dsl, j'expliquerai ce soir si personne n'a répondu

        a+
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2006 à 13:05:51

          :) salut .

          tuto sur le scrolling

          n'oublie pas que google est ton ami . :p
          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2006 à 13:11:20

            Sinon la doc de la SDL te décrira le second paramètre de SDL_BlitSurface ; ensuite tu place ton bonhomme au milieu de mannière très simple comme tu l'as déjà vu dans le tuto de M@teo !
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2006 à 13:51:45

              Merci, je regarderais le second parametre dès ce soir et vous tien au courant merci beaucoup :D
              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2006 à 14:56:20

                Citation : Pas de titre

                Sinon la doc de la SDL te décrira le second paramètre de SDL_BlitSurface ; ensuite tu place ton bonhomme au milieu de mannière très simple comme tu l'as déjà vu dans le tuto de M@teo !



                tu veut parlez de sa :

                positionJoueur.x = ecran->w / 2 - Joueur->w / 2;
                positionJoueur.y = ecran->h / 2 - Joueur->h / 2;

                est-ce que quelqu'un peut mespliquez un peut pourquoi sa met le joueur au mileu sa parce que "w et h" je sais pas ce que cest
                • Partager sur Facebook
                • Partager sur Twitter
                  15 juin 2006 à 15:25:37

                  ecran->w et une variable qui contient la largeur de l'écran et ecran->h la hauteur (enfin à condition que tu aies initialisé ecran de cette façon SDL_Surface *ecran) !
                  En fait SDL_Surface est une structure !

                  Edit : c'est pareil pour le joueur seulement c'est la hauteur et la largeur de la surface Joueur.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2006 à 15:29:17

                    a ok donc h / w sont des sous variable cest sa ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 juin 2006 à 16:15:18

                      Voilà c'est ça !

                      L'avantage d'utiliser ça plutôt que des nombres c'est que si tu décides de changer ta taille de fenêtres bas t'as pas à tout changer ! Et surtout si tu met en mode plein ecran : ça s'adapte à toutes les résolutions des utilisateurs ; ainsi ton bonhomme sera centré sur tous les ordis et pas seulement les machin*machin !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 juin 2006 à 19:43:43

                        J'essaie de comprendre comment marche le deuxieme paramètre de SDL_BlitSurface mais j'ai un peu de mal o_O Si quelqu'un sait et peut m'aider ce ne sera pas de refus :p
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 juin 2006 à 19:57:08

                          le deuxièùme parametre est un SDL_Rect qui contient 4 sous variable:
                          x et y qui indique quel origine tu prend sur ton image
                          w et h qui te permette d'indiquer quelle partie tu veu en partant des (x,y) defini plus tot
                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 juin 2006 à 23:31:41

                            Merci beaucoup, lors des tests que j'ai fait ça marche maintenant plus qu'a dessiner les tiles necessaires au décors et à coder et ça devrait aller :D
                            Merci encore.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            [ C / SDL ] Aide sur RPG 2D

                            × 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