Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL jeu ( problème )

Sujet résolu
    19 mars 2008 à 19:16:45


    Bonsoir à tous les zéros , voilà j'ai un problème dans mon code avec
    la sdl. voici mon code :

    1. #include <iostream>
    2. #include <SDL/SDL.h>
    3. #include <SDL_image.h>
    4. #include <fmod.h>
    5. #include <time.h>
    6. int main(int argc, char *argv[])
    7. {
    8.     SDL_Surface *ecran = NULL, *viseur = NULL, *v1 = NULL, *v2 = NULL, *v3 = NULL;
    9.     SDL_Rect position, pos1, pos2, pos3;
    10.     SDL_Event event;
    11.     int WIDTH = 0, HEIGHT = 0;
    12.     int continuer = 1;
    13.     int tempsPrecedent = 0, tempsActuel = 0;
    14.     FSOUND_SAMPLE *tir = NULL;
    15.     FSOUND_Init(44100, 32, 0);
    16.     tir = FSOUND_Sample_Load(FSOUND_FREE, "tir.wav", 0, 0, 0);
    17.     if (tir == NULL)
    18.     {
    19.         fprintf(stderr, " Impossible de lire tir.wav \n ");
    20.         exit(EXIT_FAILURE);
    21.     }
    22.     SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
    23.     ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    24.     SDL_WM_SetCaption(" Fire Life ", NULL);
    25.     SDL_ShowCursor(SDL_DISABLE);
    26.     viseur = IMG_Load("viseur.bmp");
    27.     v1 = IMG_Load("v1.jpg");
    28.     v2 = IMG_Load("v2.jpg");
    29.     v3 = IMG_Load("v3.jpg");
    30.     pos1.x = rand() % WIDTH;
    31.     pos1.y = rand() % HEIGHT;
    32.     pos2.x = rand() % WIDTH;
    33.     pos2.y = rand() % HEIGHT;
    34.     pos3.x = rand() % WIDTH;
    35.     pos3.y = rand() % HEIGHT;
    36.     while (continuer)
    37.     {
    38.         SDL_WaitEvent(&event);
    39.         switch(event.type)
    40.         {
    41.             case SDL_QUIT:
    42.                 continuer = 0;
    43.                 break;
    44.             case SDL_MOUSEBUTTONDOWN:
    45.                 FSOUND_PlaySound(FSOUND_FREE, tir);
    46.                 break;
    47.             case SDL_MOUSEMOTION:
    48.                 position.x = event.motion.x - (viseur->w / 2);
    49.                 position.y = event.motion.y - (viseur->h / 2);
    50.                 break;
    51.         }
    52.         tempsActuel = SDL_GetTicks();
    53.         if (tempsActuel - tempsPrecedent > 5000)
    54.         {
    55.             SDL_BlitSurface(v1, NULL, ecran, &pos1);
    56.             tempsPrecedent = tempsActuel;
    57.         }
    58.         SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    59.         SDL_BlitSurface(viseur, NULL, ecran, &position);
    60.         SDL_Flip(ecran);
    61.     }
    62.     FSOUND_Sample_Free(tir);
    63.     FSOUND_Close();
    64.     SDL_FreeSurface(viseur);
    65.     SDL_Quit();
    66.     return EXIT_SUCCESS;
    67. }


    Je voudrait faire en sorte que l'image apparaît plusieurs fois et
    aléatoirement ... or , ce code ouvre la fenêtre et la fait disparaître
    après. merci pour vos réponses d'avance ! ;)

    ps: je ne l'ai pas du tout finit !
    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2008 à 19:33:05

      T'aurais mieux fait de poster dans le forum du C pour l'instant.
      • Partager sur Facebook
      • Partager sur Twitter

      SDL jeu ( problème )

      × 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