Soucis de SDL
brounchix
Messages postés
5
Statut
Membre
-
brounchix Messages postés 5 Statut Membre -
brounchix Messages postés 5 Statut Membre -
Bonjour,
Je suis un débutant en programmation en SDL, et il se trouve que j'ai un soucis quand à la création d'une fenêtre de base, sos Dev C++.
La compilation fonctionne correctement, mais le programme ne se met pas en pause, il s'éxécute et quitte instantanément.
Je voulais afficher un titre ainsi qu'une image de fond, mais du coup je ne sais pas si cela fonctione correctement, en théorie mon code est bon puisqu'il se compile sans érreur. Cela dit, j'ai du manquer quelque chose pour la fonction pause. Je vous laisse le code:
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
void pause();
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *imageDeFond = NULL;
SDL_Rect positionFond;
positionFond.x = 0;
positionFond.y = 0;
SDL_Init(SDL_INIT_VIDEO);
SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Test", NULL);
imageDeFond = SDL_LoadBMP("Fresh.bmp");
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
SDL_Flip(ecran);
pause();
SDL_FreeSurface(imageDeFond);
SDL_Quit();
return EXIT_SUCCESS;
}
void pause()
{
int continuer = 1;
SDL_Event event;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}
Je suis un débutant en programmation en SDL, et il se trouve que j'ai un soucis quand à la création d'une fenêtre de base, sos Dev C++.
La compilation fonctionne correctement, mais le programme ne se met pas en pause, il s'éxécute et quitte instantanément.
Je voulais afficher un titre ainsi qu'une image de fond, mais du coup je ne sais pas si cela fonctione correctement, en théorie mon code est bon puisqu'il se compile sans érreur. Cela dit, j'ai du manquer quelque chose pour la fonction pause. Je vous laisse le code:
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
void pause();
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *imageDeFond = NULL;
SDL_Rect positionFond;
positionFond.x = 0;
positionFond.y = 0;
SDL_Init(SDL_INIT_VIDEO);
SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("Test", NULL);
imageDeFond = SDL_LoadBMP("Fresh.bmp");
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
SDL_Flip(ecran);
pause();
SDL_FreeSurface(imageDeFond);
SDL_Quit();
return EXIT_SUCCESS;
}
void pause()
{
int continuer = 1;
SDL_Event event;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}
A voir également:
- Soucis de SDL
- Sdl no available video device ✓ - Forum C
6 réponses
oui je crois, met un system("PAUSE"); la ou tu veux que ton programme fasse une pause, il faudra taper sur une touche pour qu'il se réenclenche
Je te remercie pour tes réponses, mais apparement la fonction system("PAUSE"); ne résoud rien, j'ai modifié mon code pour mettre:
SDL_Flip(ecran);
sytem("PAUSE");
SDL_FreeSurface(imageDeFond);
SDL_Quit();
return EXIT_SUCCESS;
}
Sans aucun succès, apres peut-être faut-il que je supprime mon dernier morceau de code, à partir du second Void pause () ou que je place ma fonction system("PAUSE"); autre part...
SDL_Flip(ecran);
sytem("PAUSE");
SDL_FreeSurface(imageDeFond);
SDL_Quit();
return EXIT_SUCCESS;
}
Sans aucun succès, apres peut-être faut-il que je supprime mon dernier morceau de code, à partir du second Void pause () ou que je place ma fonction system("PAUSE"); autre part...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question