Partage
  • Partager sur Facebook
  • Partager sur Twitter

[jeux]gestion du sol?

    7 juin 2006 à 22:20:55

    Voila mon probleme: je suis en train de reflechir sur un jeu en 2d et le joueur control un perso. Le jeu est en vue de dessus (comme GTA 1&2 par exemple). Mais voila je vois pas trop comment afficher le sol.

    J'ai essayé de mettre une "grande image" pour simuler le sol mais la SDL n'a pas l'air d'aimer les coordonnées negative d'une surface.
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2006 à 22:29:40

      En effet, la SDL naime pas les coordonnées négatives.
      Il faut faire comme ça:
      SDL_BlitSurface(fond, &sol, ecran, &positionFond);

      Ou positionFond.x = 0 et positionFond.y = 0
      Dans tes déplacements du sol tu modifieras sol.x et sol.y
      Il faut aussi définir sol.h et sol.w
      Je sais pas si c'est très clair mais fait des essais et tu trouveras.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juin 2006 à 23:30:11

        Ok merci beaucoup (j'ai eu un peu de mal a piger mais c'est bon :D ).
        J'ai mis la largeur de ma fenetre à sol.w et la hauteur a sol.h.
        sol.x et sol.y se modifient avec les fleches du clavier.

        Faut faire gaffe que sol.x et sol.y soient pas négatif aussi :p .
        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2006 à 10:07:03

          tu ne pourra pas eviter les négatif si tu n'a que UNE image et que tu veux qu'elle soit muable et relatif aux déplacement. en tout cas de nombreux jeux fonctionnent comme ca :)
          • Partager sur Facebook
          • Partager sur Twitter
            8 juin 2006 à 10:15:04

            tu peux aussi faire :

            positionVirtuelX = -5;
            positionVirtuelY = -5;//-5 hein, mais ca pourrait etre autre chose^^
            sol.x = positionVirtuelX;
            sol.y = positionVirtuelY;


            La, si tu envoies &sol à SDL_BlitSurface, ca te prendra les coordonnées négative sans rien dire...

            Source : http://www.siteduzero.com/forum-83-44553-p1-images-plus-grande-que-l-ecran.html
            • Partager sur Facebook
            • Partager sur Twitter
              8 juin 2006 à 10:45:14

              Sinon tu peux faire la bonne vieille technique du quadrillage, et comme ça tu aura plus de facilité à gérer les déplacements.
              • Partager sur Facebook
              • Partager sur Twitter
                8 juin 2006 à 11:49:54

                Vous pouvez venir télécharger ce que ca donne ici:
                battle.rar

                Ya le code source et l'executable dans l'archive. C'est tres moche mais c'est qu'un test (je suis pas tres doué avec Paint :-° ).

                Pour les valeurs de sol.x et sol.y j'ai fait en sort que ca reste dans le bon intervale comme ca on sort pas de la carte:

                if (sol.x < 0) sol.x = 0;
                else if (sol.x > LARGEUR_IMAGE - LARGEUR_ECRAN) sol.x = LARGEUR_IMAGE - LARGEUR_ECRAN;
                if (sol.y < 0) sol.y = 0;
                else if (sol.y > HAUTEUR_IMAGE - HAUTEUR_ECRAN) sol.y = HAUTEUR_IMAGE - HAUTEUR_ECRAN;
                • Partager sur Facebook
                • Partager sur Twitter
                  8 juin 2006 à 14:09:00

                  En effet c'est très moche :p . Et puis tu peux pas te déplacer partout sur la carte! C'est normal?
                  Bon courage pour le suite...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 juin 2006 à 14:41:47

                    j'ai pas trop regarder la source mais j'ai vu que tout était dans le main.c o_O .

                    muaddib > je croi que c'est parce que le deplacement et toujours centré sur la fenetre et limité par le dessin sur les coté :/
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [jeux]gestion du sol?

                    × 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