Se connecter avec
S'enregistrer | Connectez-vous

[Résolu] [C: SDL] Boucle de SDL_BlitSurface

Dernière réponse : dans Programmation

Bonjour, j'ai un probleme avec la fonction SDL_BlitSurface, elle renvoie -1 et plante le programme
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <SDL/SDL.h>
  4. #include <SDL/SDL_image.h>
  5.  
  6. /*Ce fichier doit creer les "décors" avant de les envoyer vers la suite du programme */
  7. SDL_Surface *lvlLoader(SDL_Surface *ecran){ //ecran a été cré dans la fonction main
  8.  
  9. SDL_Rect positionDecors;
  10. positionDecors.x = 1024/2 - 200; //pour centrer l'image
  11. positionDecors.y = 768/2 - 200;
  12.  
  13. SDL_Surface *decor = NULL;
  14.  
  15. SDL_Init( SDL_INIT_VIDEO);
  16. decor = SDL_LoadBMP("sprites/decors.bmp");
  17. fprintf(stderr, "lvlLoader: %d\n", SDL_BlitSurface(decor, NULL, ecran, &positionDecors)); //probleme: la valeur est -1 pourquoi ?
  18. SDL_Flip(ecran);
  19. jeux(ecran); //on envoie l'"ecran" a la prochaine foncion qui va creer le peronnage et se déplacement
  20.  
  21. SDL_Quit();
  22. }


Si vous trouvez pourquoi, vous pouvez m'expliquer.
(J'ai pas envie d'un SEUL fichier qui ait 900 lignes !!)
Merci
Lassé par la pub ? Créez un compte
Expert Programmation

Oui et heureusement :) 
Il y a du double-buffering, c'est-à-dire que "ecran", ce n'est pas vraiment l'écran, mais un buffer. C'est quand tu fais SDL_Flip() que tu affiches à l'écran, ça évite les clignotements de sprites semi-transparent :) 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde