Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] deplacer une image

En appuyant une fois

Sujet résolu
    12 avril 2006 à 17:36:46

    Salut :)

    Voila, j'essaie de faire un jeu de shoot 2D tout ce qu'il y a de plus simple, pour le moment je veux juste ajouter le tir vers le coté droit.
    Pour cela je creer donc une fonction deplacement qui prend 3 parametres ( l'ecran, l'image de tir, la position de cette image)

    Voila mon prototype :

    void deplacement(SDL_Surface *screen, SDL_Surface *tir, SDL_Rect *positiontir);


    Voila la fonction :

    void deplacement(SDL_Surface *screen, SDL_Surface *tir, SDL_Rect *positiontir)
    {
      int i;
      for (i=(*positiontir).x;i<=1024;i++)
      {
            (*positiontir).x=i;
            SDL_BlitSurface(tir,  NULL, screen, positiontir);
            pause(1);
      }
      SDL_FreeSurface(tir);
    }


    et voile l'utilisation que j'en fait :


    // blabla
    case SDL_MOUSEBUTTONDOWN:
                switch(event.button.button)
                {
                    case SDL_BUTTON_LEFT:
                        positiontir.x = (*positionperso).x + 65;
                        positiontir.y = (*positionperso).y + 33;
                        deplacement(screen,tir,&positiontir);
                        break;
                    default:
                        break;
                }
            break;
    // blabla


    Je n'ai aucun warning (je suis en -Wall -Wmain -O2)
    et pourtant des que j'essaie de tirer ... pantage ^^

    Merci de bien vouloir m'aider
    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2006 à 17:58:38

      Comment regle t on le niveau de Warning siouplait ?

      Merci beacuoup
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        12 avril 2006 à 18:00:11

        Fais un nouveau topic.
        ça dépend de ton Ide
        Sinon, je ne comprends pas: qu'entends tu par "un tir vers le côté droit"?!
        • Partager sur Facebook
        • Partager sur Twitter
          12 avril 2006 à 18:11:21

          Je cherche a simuler un tir qui se dirige vers la droite de l'ecran. l'image tir devra donc se deplacer de gauche à droite.

          Le pause(1); indique une pause d'une seconde entre chaque deplacement d'image sinon cela serait trop rapide je pense.

          Pour les options de compilations sous CodeBlocks c'est dans "Build/Compiler Options/"

          EDIT : probleme réglé :)

          Voila la fonction :

          void deplacement(SDL_Surface *screen, SDL_Surface *tir, SDL_Rect *positiontir)
          {
            int i;
            for (i=(*positiontir).x;i<=LARGEUR;i++)
              {
                  (*positiontir).x=i;
                  SDL_BlitSurface(tir,  NULL, screen, positiontir);
              }
              SDL_Flip(screen);
          }


          et l'appel :

          case SDL_BUTTON_LEFT:
                              positiontir.x = (*positionperso).x + 65;
                              positiontir.y = (*positionperso).y + 33;
                              deplacement(screen,tir,&positiontir);
                              break;
          //blabla fin des switchs
          SDL_FreeSurface(tir); /* Parce que n'est pas defini dans le main */
          • Partager sur Facebook
          • Partager sur Twitter

          [C] deplacer une image

          × 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