Bonjour, j´ai rechangé le programme :
- include < SDL/SDL.h>
SDL_Surface* screen;
SDL_Surface* fond;
SDL_Surface* barregauche;
SDL_Surface* barredroite;
SDL_Event event;
void init_SDL()
{
SDL_Init(SDL_INIT_VIDEO);
screen = SDL_SetVideoMode(1024, 768, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);
SDL_ShowCursor(0);
}
SDL_Rect Rect(int x,int y,int w=0,int h=0)
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}
SDL_Surface* LoadBMP(char* fichier,int vram=1)
{
SDL_Surface* f = SDL_LoadBMP(fichier);
SDL_Surface* r=NULL;
if ( vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
if ( r==NULL) vram=0;
if ( !vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&);
SDL_FreeSurface(f);
return r;
}
int main(int argc , char **argv)
{
int s=1;
int sx=1,sy=1;
SDL_Rect rect1;
int fini=0;
init_SDL();
fond=LoadBMP("fond.bmp");
rect1.x = 0;
rect1.y = 0;
barregauche=LoadBMP("barre joueur 1.bmp",0);
rect1.x=20;
rect1.y=333;
SDL_SetColorKey(barregauche,SDL_SRCCOLORKEY , SDL_MapRGBA(barregauche->format,255,0,255,0));
barregauche=LoadBMP("barre joueur 2.bmp",0);
rect1.x=120;
rect1.y=333;
SDL_SetColorKey(barredroite,SDL_SRCCOLORKEY , SDL_MapRGBA(barredroite->format,255,0,255,0));
while(1)
{
SDL_PollEvent(&);
if ( event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_RETURN)
break;
if ( event.type == SDL_KEYDOWN)
{
if ( event.key.keysym.sym == SDLK_UP) rect1.y-=3;
if ( event.key.keysym.sym == SDLK_DOWN) rect1.y+=3;
}
SDL_BlitSurface(fond,NULL,screen,NULL);
SDL_BlitSurface(barregauche,NULL,screen,&1);
SDL_BlitSurface(barredroite,NULL,screen,&1);
SDL_Flip(screen);
}
SDL_ShowCursor(1);
SDL_Quit();
return 0;
}
Aucune erreurs, mais quand je compile, l´ecran reste noir 1 seconde, puis revient a l´etat d´origine.
, repondez moi.