Bonjour,
j'essaies de créer une fenêtre avec la SDL , en appuyant sur la flèche vers le haut la fenêtre devient blanche et en appuyant sur la flèche vers le bas la fenêtre devient noir, le problème c'est que l'exécution du programme ne s'effectue pas à peine la fenêtre s'affiche et disparait trop vite voici le code :
Code :
#include <stdlib.h>
#include <stdio.h>
#include <sdl/sdl.h>
int main( int argc , char *argv[] )
{
SDL_Surface *ecran[256] = {NULL};
SDL_Event event ;
int i = 0 , j = 256 ;
int continuer = 1 ;
SDL_Init(SDL_INIT_VIDEO);
for(i = 0 ; i <= 255 ; i++)
ecran[i] = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("Le Fond Ecran En SDL",NULL);
SDL_EnableKeyRepeat(10,10);
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 :
for(i = 0 ; i <= 255 ; i++ )
SDL_FillRect(ecran[i],NULL,SDL_MapRGB(ecran[i]->format,i,i,i));
break;
case SDLK_DOWN :
for(j <= 255 ; j= 0 ; j--)
SDL_FillRect(ecran[j],NULL,SDL_MapRGB(ecran[j]->format,j,j,j));
break;
}break;
}
for(i = 0 ; i <= 255 ; i++)
SDL_FillRect(ecran[i],NULL,SDL_MapRGB(ecran[i]->format,0,0,0));
SDL_Flip(ecran[i]);
}
for ( i = 0 ; i <= 255 ; i++)
for ( j<=255 ; j=0 ; j--)
SDL_FreeSurface(ecran[i]);
SDL_FreeSurface(ecran[j]);
SDL_Quit();
return EXIT_SUCCESS;
}
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.