Advertisement
Guest User

Help Me

a guest
Jun 19th, 2015
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <SDL/SDL.h>
  4. #include <SDL/SDL_image.h>
  5. #include <fmodex/fmod.h>
  6.  
  7. int     main()
  8. {
  9.   SDL_Surface   *ecran;
  10.   SDL_Surface   *viseur;
  11.   SDL_Event event;
  12.   SDL_Rect  position;
  13.   int       continuer;
  14.   FMOD_SYSTEM   *system;
  15.   FMOD_SOUND    *tir;
  16.   FMOD_SOUND    *ambiance;
  17.   FMOD_RESULT   resultat;
  18.  
  19.   continuer = 1;
  20.   ecran = NULL;
  21.   viseur = NULL;
  22.  
  23.   FMOD_System_Create(&system);
  24.   FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, NULL);
  25.  
  26.   resultat = FMOD_System_CreateSound(system, "pan.wav", FMOD_CREATESAMPLE, 0, &tir);
  27.   if (resultat != FMOD_OK)
  28.     {
  29.       fprintf(stderr, "Impossible de lire\n");
  30.       exit(EXIT_FAILURE);
  31.     }
  32.  
  33.   resultat =  FMOD_System_CreateSound(system, "ambiance.mp3", FMOD_CREATESAMPLE, 0, &ambiance);
  34.   if (resultat != FMOD_OK)
  35.     {
  36.       fprintf(stderr, "Impossible de lire ambiance\n");
  37.       exit(EXIT_FAILURE);
  38.     }
  39.  
  40.   SDL_Init(SDL_INIT_VIDEO);
  41.   SDL_ShowCursor(SDL_DISABLE);
  42.   ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
  43.   SDL_WM_SetCaption("Test FMOD Negro !", NULL);
  44.   viseur = IMG_Load("viseur.png");
  45.   //  FMOD_System_PlaySound(system, ambiance, FMOD_CHANNEL_FREE, 0, NULL);
  46.   FMOD_System_PlaySound(system, ambiance, NULL,  0, NULL);
  47.   while(continuer)
  48.     {
  49.       SDL_WaitEvent(&event);
  50.       switch(event.type)
  51.     {
  52.     case SDL_QUIT:
  53.       continuer = 0;
  54.       break;
  55.     case SDL_MOUSEBUTTONDOWN: // Au clic le son est jouΓ©
  56.       FMOD_System_PlaySound(system, tir, NULL, 0, NULL);
  57.       break;
  58.     case SDL_MOUSEMOTION:
  59.       position.x = event.motion.x - (viseur->w / 2);
  60.       position.y = event.motion.y - (viseur->h / 2);
  61.       break;
  62.     }
  63.       SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
  64.       SDL_BlitSurface(viseur, NULL, ecran, &position);
  65.       SDL_Flip(ecran);
  66.     }
  67.   SDL_FreeSurface(viseur);
  68.   SDL_Quit();
  69.  
  70.   FMOD_Sound_Release(tir);
  71.   FMOD_System_Close(system);
  72.   FMOD_System_Release(system);
  73.   return (EXIT_SUCCESS);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement