Partage
  • Partager sur Facebook
  • Partager sur Twitter

Spirite sur c

SOS

    15 juin 2006 à 12:59:10

    Salut tout le monde;
    </taille><taille valeur="ttpetit">
    Je commence à faire mes premiers pas en c et le fameux SDL, par contre j'arrive pas à faire deux choses qui peuvent paraitre à certains trés facile :euh: mais qui me bloque.....:

    Comment gérer le mouvement du personnage sur c (spirite)
    comment gérer les impactes (exemple coup de feu, barriere,...)

    Je suis trés reconnaissant à celui ou celle qui peux m'aider!!!

    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2006 à 13:29:58

      tu vas sur TP mario sokoban tu telecharge le code source et tu lit

      normalement meme dans le chapitre du TP il le dit je croi
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2006 à 13:50:05

        Je parlais de sprites plus complexes, non pas composé d'une image par sens.
        Cad de ce genre!!! :)
        C'a na pas marché en utilisant la même méthode du Sokoban
        Image utilisateur
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2006 à 17:44:50

          Soit tu les découpes à la main, soit tu utilise le 2eme parametre de la fonction SDL_BLitSurface()
          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2006 à 18:07:18

            une fois pour un jeu j'avais découpé à la main et c'est très long.

            C'est quoi le deuxieme argument de sdl blit ?
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2006 à 19:25:39

              Le deuxième argument, c'est "la case" que SDL doit bliter (ta compris ? :p )

              Regarde :

              laPartieAAfficher.x = 0;
              laPartieAAfficher.y = 40;
              SDL_BlitSurface(image, &laPartieAAfficher, ecran, &positionImage);

              Et ça, affichera la partie de l'image en haut à gauche ^^

              Bon j'espère que ta un peu compris :D
              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2006 à 19:28:56

                euh, c'est plutot un SDL_Rect, ça te permet de definir l'origine de la case ainsi que ça largeur et ça hauteur ...
                • Partager sur Facebook
                • Partager sur Twitter
                  15 juin 2006 à 19:29:13

                  Hum et pourquoi il prendrait pas toute la ligne inférieur à 40 en Y ?
                  Comment déterminer la position d'arrêt X ?

                  Je suis clair ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2006 à 19:30:17

                    Ah ok,merci.

                    J'ai compris, je ne suis pas totalement bête :-° mais ca necessite plein d'autre déclaration de structures SDL rect pour la position de chaque sprite et de chercher la position en pixels o_O , travail fastideux :p .

                    EDIT : merci Minaithnir j'avais compris avec l'exemple de Likuku.

                    Pierre89 --->tu veux dire qu'il faut chercher chaque position ?
                    Si oui il est obligé.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 juin 2006 à 19:30:29

                      Citation : Likuku

                      Le deuxième argument, c'est "la case" que SDL doit bliter (ta compris ? :p )

                      Regarde :
                      Code : C

                      laPartieAAfficher.x = 0;
                      laPartieAAfficher.y = 40;
                      SDL_BlitSurface(image, &laPartieAAfficher, ecran, &positionImage);

                      Et ça, affichera la partie de l'image en haut à gauche ^^

                      Bon j'espère que ta un peu compris :D



                      Presque il manque juste de sous variable. Je m'explique une variable de type SDL_Rect contien 4 sous variable qui sont x y w hry pour le 2em parametre il faut que tu donne le w et h sinon ca risque de partir en cacahouette l'image.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 juin 2006 à 19:33:22

                        heu, moi ça fonctionne bien comme ça ^^
                        Mais bon, j'ai apris ça on regardant des codes, donc je suis pas sur de moi ^^
                        Mais c'est vrai que c'est bizard, bah je vais faire avec x y w h, mais j'ai pas eu de problème jusque la ...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 juin 2006 à 19:34:18

                          c'est bien ce que j'avais dit :p
                          j'ai parlé dans le vent :'(

                          [EDIT]tas peut-etre pas eu de problème si tu utilise la methode de mathéo dans mario Sokoban :
                          en explorant le tableau tu arrive à positionMario, tu le blitte et après tu blitte les case suivantes par dessus se qui pourai depasser de la case.

                          je suis pas sur d'etre clair là :euh:
                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 juin 2006 à 19:36:05

                            Ok merci c'était ça ma question !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              15 juin 2006 à 19:37:54

                              Heu nan j'utilise pas la méthode de M@théo21, mais je pense que je fessais pas comme ça, parce-que sinon, ça devrait bugger un peu :p
                              Je vais essayer de retrouver mes sources ^^
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Spirite sur c

                              × 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