Bonjour à tous!
Petite question pour ceux qui maitrisent un peu la SDL:
Je tente de faire un programme a base de layers, a savoir que je vais avoir 3 couches, BackgroundLayer , ObjectsLayer et FontLayer.
Donc 3 SDL_Surface*.
Apres, je declare une 4e surface, screen, qui servira d'ecran (donc DOUBLE_BUFFER etc...).
Mon but, c'est de charger mes différents éléments sur les layers qui leurs correspondent, et ensuite de coller ces layers sur l'ecran.
En gros, je BlitSurface sur chacune des 3 premieres surfaces, puis je BlitSurface les layers eux memes sur la surface ecran.
A priori, ce devrait etre faisable, mais j'y arrive pas.
Un bout de code tout bete pour illustrer:
Ca, ca marche bien (encore heureux me direz vous).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SDL_Surface *loadedImage = SDL_LoadBMP( "../sprites/fond.bmp" ); SDL_BlitSurface(loadedImage,NULL,screen,NULL); SDL_Flip (screen);
Mais des que j'essaie de passer par une SDL_Surface intermediaire:
J'ai plus rien a l'ecran, avec ou sans le UpdateRect, bref, c'est relou.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SDL_Surface *loadedImage = SDL_LoadBMP( "../sprites/fond.bmp" ); SDL_Surface *Back = NULL; SDL_BlitSurface(loadedImage,NULL,Back, NULL); SDL_UpdateRect(Back,0,0,0,0); SDL_BlitSurface(Back,NULL,screen,NULL); SDL_Flip (screen);
Donc si quelqu'un, en voyant mon petit souci, avait une idée géniale et pouvait pointer du doigt mon incompétence en la matière (en me disant au passage ce que je peux faire pour remedier au probleme plus haut, evidemment), il serait le bienvenu.
Merci a vous![]()
F.
Partager