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;
}