Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec un mini-jeux de tir

un peu comme Duck Hunt....

Sujet résolu
    28 juillet 2007 à 18:25:43

    Salut les zéros
    sa va?
    Bon voila, j'ai un problème avec un jeu vidéo, un mini-jeu, c'est une sorte de Duck hunt, une amélioration de ce que Mateo21 nous a donner a faire comme exo, dans la partie avec l'installation du son, j'ai un code, mais il beug a la compile, il refuse d'être compilé, c'est bizard, j'ai cherché l'erreur mais j'ai pas trouvé, c'est super louche, bon je vais pas faire durer le plaisir, voila le code, est-ce-que vous pourriez m'aider, je vois carrément pas ou est l'erreur...
    Désolé, je n'arrive pas a activer la citation, c'est bizard...
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <FMOD/fmod.h>

    int main(int argc, char *argv[])
    {
    SDL_Surface *ecran = NULL, *viseur = NULL, *imageDeFond=NULL;
    SDL_Event event;
    SDL_Rect position, positionFond;
    int continuer = 1;
    FSOUND_SAMPLE *tir = NULL;
    FSOUND_Init(44100, 32, 0);
    tir = FSOUND_Sample_Load(FSOUND_FREE, "pan.wav", 0, 0, 0);
    if (tir == NULL)
    {
    fprintf(stderr, "Impossible de lire pan.wav\n");
    exit(EXIT_FAILURE);
    }
    positionFond.x=0;
    positionFond.y=0;
    SDL_Init(SDL_INIT_VIDEO);

    SDL_ShowCursor(SDL_DISABLE);
    ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Gestion du son avec FMOD", NULL);
    imageDeFond = IMG_Load("foret.JPEG");
    viseur = IMG_Load("viseur.png");
    SDL_SetColorKey(viseur, SDL_SRCCOLORKEY, SDL_MapRGB(viseur->format, 255, 255, 255));
    while (continuer)
    {
    SDL_WaitEvent(&event);

    switch (event.key.keysym.sym)
    {
    case SDLK_ESCAPE:
    continuer = 0;
    break;
    }
    switch (event.type)
    {
    case SDL_MOUSEBUTTONDOWN:
    FSOUND_PlaySound(FSOUND_FREE, tir);
    break;
    case SDL_MOUSEMOTION:
    position.x = event.motion.x - (viseur->w / 2);
    position.y = event.motion.y - (viseur->h / 2);
    break;
    }
    SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    SDL_BlitSurface(viseur, NULL, ecran, &position);
    SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
    SDL_Flip(ecran);
    }
    SDL_FreeSurface(viseur);
    SDL_Freesurface(imageDeFond);
    SDL_Quit();
    FSOUND_Sample_Free(tir);
    FSOUND_Close();
    return EXIT_SUCCESS;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      28 juillet 2007 à 18:33:24

      Citation

      Désolé, je n'arrive pas a activer la citation, c'est bizard...



      C'est pas citation hein ! C'est la balise code. Tu fais comme ceci : < code type="c"> ton code source joli < /code>, et normalement ça va le colorer après. (Enlever les espaces après les '<').

      On pourrait aussi savoir quelles erreurs le compilateur te donne ?



      switch (event.key.keysym.sym)
      {
      case SDLK_ESCAPE:
      continuer = 0;
      break;
      }
      switch (event.type)
      {
      case SDL_MOUSEBUTTONDOWN:
      FSOUND_PlaySound(FSOUND_FREE, tir);
      break;
      case SDL_MOUSEMOTION:
      position.x = event.motion.x - (viseur->w / 2);
      position.y = event.motion.y - (viseur->h / 2);
      break;
      }
       


      A quoi tu penses là ? Tu est en train de vérifier la touche enfoncée du clavier alors que tu n'a même pas encore vérifié si jamais l'évènement que tu es en train d'analyser est un évènement de clavier ! Relis attentivement le cours, tu verras.
      • Partager sur Facebook
      • Partager sur Twitter
      J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
        28 juillet 2007 à 18:44:48

        Je crois que pour les evenements tu dois faire comme ca:
        SDL_WaitEvent(&event);
        switch(event.type)
        {
                 case SDL_KEYDOWN:
                      switch(event.key.keysym.sym)
                      {
                           case SDLK_ESCAPE:
                           continuer = 0;
                           break;
                      }
        }
         

        Au fait, tu n'as pas mis de cible?

        Zer0tement,
        Falaimo
        • Partager sur Facebook
        • Partager sur Twitter
          28 juillet 2007 à 18:51:23

          merci bbeaucoup a tous, je vais essayer sa et voir
          • Partager sur Facebook
          • Partager sur Twitter

          Problème avec un mini-jeux de tir

          × 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