Fonction de creation image sous SDL
kenny013
Messages postés
8
Statut
Membre
-
chris79 Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
chris79 Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous ,
je suis actuellement en train d'écrire un programme avec SDL , ca marche bien pour le moment sauf que le code est un peu long , on a décidé de l'optimiser en créant des fonctions mais ca marche pas comme on voudrait , voici un échantillon du code avec une fonction censée afficher une image , meme si le code compile sans erreurs l'image ne s'affiche pas . auriez vous une idée s'il vous plait ?
EDIT: Précision du langage dans la coloration syntaxique.
je suis actuellement en train d'écrire un programme avec SDL , ca marche bien pour le moment sauf que le code est un peu long , on a décidé de l'optimiser en créant des fonctions mais ca marche pas comme on voudrait , voici un échantillon du code avec une fonction censée afficher une image , meme si le code compile sans erreurs l'image ne s'affiche pas . auriez vous une idée s'il vous plait ?
#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif
#include <SDL/SDL.h>
SDL_Surface *ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);
int continuer = 1;
SDL_Event event ;
void drawimage (SDL_Surface *espace , SDL_Rect positionimage, int x , int y )
{
espace = NULL;
positionimage.x = x;
positionimage.y = y;
SDL_BlitSurface(espace, NULL, ecran, &positionimage);
SDL_Flip(ecran);
}
int main(int argc, char *argv[])
{ SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *background = NULL ;
background = SDL_LoadBMP("background.bmp");
SDL_Rect positionbackground ;
drawimage(background ,positionbackground,0,0);
SDL_WM_SetCaption("DY Quizz", NULL);
SDL_FreeSurface(background);
while (continuer)
{
SDL_WaitEvent(&event); /* Récupération de l'événement dans event
*/ switch(event.type) /* Test du type d'événement */ { case SDL_QUIT: /* Si c'est un événement de type "Quitter" */ continuer = 0; break; } } SDL_Quit(); return EXIT_SUCCESS; return 0;}
EDIT: Précision du langage dans la coloration syntaxique.
1 réponse
-
Slt,
Le plus simple pour avancer dans ton problème serait de tester les codes de retour des fonctions SDL avec la fonctionSDL_GetError()
;)
De plus je me demande quel est l'intérêt du second argument dans
void drawimage (SDL_Surface *espace , SDL_Rect positionimage, int x , int y )
A mon sens, soit tu fournis x et y OU soit tu fournis un SDL_Rect initialisé...mais j'ai peut etre louper quelque chose :)