j´ai oublié de mettre mon code le voici:
- include < SDL/SDL.h>
SDL_Surface *screen;
SDL_Surface *carre;
SDL_Event event;
SDL_Rect r1,r2,r3;
Uint8 *keys;
void init()
{
SDL_Init(SDL_INIT_VIDEO);
screen =
SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUB
LEBUF);
}
void load()
{
carre = SDL_LoadBMP("carré.bmp");
SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format
,0,255,0));
SDL_SetColorKey(carre,SDL_SRCCOLORKEY,SDL_MapRGB(c
arre->format,0,0,0));
}
void boucle()
{
int tuxx = 10;
int tuxy = 10;
bool done = false;
while(!done)
{
while(SDL_PollEvent(&))
{
switch(event.type)
{
case SDL_QUIT:
done = true;
break;
}
}
keys = SDL_GetKeyState(NULL);
if(keys[SDLK_UP])
{
if(tuxy>0)
tuxy--;
}
if(keys[SDLK_DOWN])
{
if(tuxy<480 - carre->h)
tuxy++;
}
if(keys[SDLK_RIGHT])
{
if(tuxx< 640 - carre->w)
tuxx++;
}
if(keys[SDLK_LEFT])
{
if(tuxx>0)
tuxx--;
}
r1.w = carre->w;
r1.h = carre->h;
r1.x = tuxx;
r1.y = tuxy;
SDL_BlitSurface(carre,NULL,screen,&1);
SDL_Flip(screen);
}
SDL_FreeSurface(carre);
}
int main(int argc, char **argv )
{
init();
load();
boucle();
return 0;
}