Fonction de creation image sous SDL

kenny013 Messages postés 8 Statut Membre -  
chris79 Messages postés 97 Statut Membre -
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 ?

#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.
A voir également:

1 réponse

chris79 Messages postés 97 Statut Membre 25
 
Slt,

Le plus simple pour avancer dans ton problème serait de tester les codes de retour des fonctions SDL avec la fonction
SDL_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 :)
0