Fonction de creation image sous SDL

Fermé
kenny013 Messages postés 6 Date d'inscription vendredi 14 novembre 2014 Statut Membre Dernière intervention 19 mai 2015 - Modifié par Whismeril le 19/05/2015 à 23:25
chris79 Messages postés 97 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 - 20 mai 2015 à 17:15
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 Date d'inscription lundi 3 octobre 2005 Statut Membre Dernière intervention 1 février 2016 25
20 mai 2015 à 17:15
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