Vengeur41 m´a ecrit ca quand je ne maitrisait pas mes touches, et j´utilise tjs sa maethode :
"
Tu sais la c´est bien dur ton programme ( enfin pas vraiment).
Tout d´abord faut mettre ca bien au point : une fois qu´elle est chargée en tant que surface ( ici elle s´appelle firstscreen) on s´en fout de image.bmp. Tu vois, les rect contrôlent tout ce qu´est coordonnées. Bon le mieux pour t´expliquer ce sera toujours un programme complet :
- include < SDL.h>
SDL_Surface *screen, *image;
SDL_Event e;
SDL_Rect rcdst;
Uint8 *keystate;
int x,y, bQuit=0;
int main(int argc, char **argv)
{
SDL_Init(SDL_INIT_VIDEO);
screen =
SDL_SetVideoMode(1024,768,16,SDL_HWSURFACE|SDL_FUL
LSCREEN);
SDL_WM_SetCaption("Ma fenetre",NULL);
image=SDL_LoadBMP("image.bmp");
x=500;
y=380;
/ / Met ton SDL_SetColorkey ici si tu veux
while(!bQuit)
{
SDL_FillRect(screen,NULL,0);
rcdst.x=x;
rcdst.y=y;
SDL_BlitSurface(image,NULL,screen,&);
SDL_Flip(screen);
if ( SDL_PollEvent(&) && e.type==SDL_QUIT)
bQuit=1;
keystate=SDL_GetKeyState(NULL);
if ( keystate[SDLK_ESCAPE])bQuit=1;
if ( keystate[SDLK_DOWN])y++;
if ( keystate[SDLK_UP])y--;
if ( keystate[SDLK_RIGHT])x++;
if ( keystate[SDLK_LEFT])x--;
}
SDL_FreeSurface(screen);
SDL_Quit();
return 0;
}
Bon là ton image.bmp fait une petite style euh 60x60. Si ton ordinateur est speed ( meme s´il ne l´est pas) fais quand meme une synchronisation du fps => cad ralentir le jeu si le pc est rapide...
Tu la dirige avec les touches directionnelles.
Ca doit compiler si j´ai pas fait d´erreur. Mais nromalement c´est ok. C´est ptet SDL/SDL.h au lieu de SDL.h enfin t´adapte après...
"
Ca marche bien.