Probleme avec Virtual Studio C++ 2010 et SDL

Résolu/Fermé
Vive me Messages postés 128 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 22 juillet 2013 - Modifié par mamiemando le 18/06/2013 à 00:35
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 - 18 juin 2013 à 00:41
Je me suis mis a suivre les tutos du site du zero et je me suis mis a la SDL et j'ai mon code qui a une erreur :

Exception non gérée à 0x002a159b dans cette fois c'est la bonne.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000004

Mais le probleme c'est que ça me l'affiche dans une fenêtre au lieu du petit encadré en bas et franchement quelqu'un peut comprendre cette erreur ?! Puis je passe en mode debogage .

le code :
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>

int main(int argc, char *argv[])
{
    SDL_Surface *ecran = NULL, *zozor = NULL;
 SDL_Rect POSITIONzozor;
 SDL_Event event;
 int continuer = 1;


 SDL_Init(SDL_INIT_VIDEO);

 ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
 SDL_WM_SetCaption("C'EST LA BONNE !", NULL);

 //Chargement de zozor
 zozor = IMG_Load("zozor.bmp");
 SDL_SetColorKey(zozor, SDL_SRCCOLORKEY, SDL_MapRGB(zozor ->format, 0, 0, 255));
 
 //centrage de zozor
 POSITIONzozor.x = 640/2 - 320/2;
 POSITIONzozor.y = 480/2 - 240/2;

 while (continuer)
 {
  SDL_WaitEvent(&event);
  switch(event.type)
  {
   case SDL_QUIT:
    continuer = 0;
    break;
   case SDL_KEYDOWN:
    switch(event.key.keysym.sym)
    {
     case SDLK_UP:
      POSITIONzozor.y--;
      break;
     case SDLK_DOWN:
      POSITIONzozor.y++;
      break;
     case SDLK_RIGHT:
      POSITIONzozor.x++;
      break;
     case SDLK_LEFT:
      POSITIONzozor.x--;
      break;
    }
    break;
  }
 }

 //"effacage" de l'ecran
 SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
 //"Placage" de zozor
 SDL_BlitSurface(zozor, NULL, ecran, &POSITIONzozor);
 //mise a jour de l'affichage
 SDL_Flip(ecran);

 SDL_FreeSurface(zozor);
    SDL_Quit();
 
    return EXIT_SUCCESS;
}
                              
A voir également:

1 réponse

mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
18 juin 2013 à 00:41
Pourquoi n'utilises-tu pas un debugger pour voir où l'erreur survient ?

Bonne chance
0