Salut à tous !!!
Bon voila, je vous explique rapidement le contexte : je suis en train de développer un tetris dans le cadre d'un projet a rendre pour la rentré en septembre, en C avec la SDL...
En fait, j'ai mon ecran (SDL_Surface *pScreen) et une autre surface qui représente le fond de la zone de jeu (SDL_Surface *pFond), remplie d'une couleur.
J'ai un probleme lorsque je veux blitter les pieces sur ce fond : en fait, voici quelques petits bouts de code pour vous expliquer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /* pour définir la position d'affichage d'un bloc */ bloc.x = posiX ; bloc.y = posiY ; bloc.w = LARG_BLOC ; bloc.h = HAUT_BLOC ; /* charge le bmp correspondant a un bloc */ pBloc = SDL_LoadBMP("img/tile.bmp");
Jusque là aucun probleme... c'est là que je bloque :
Le fond s'affiche bien toujours, pas de probleme... en revanche le bloc ne s'affiche pas, je ne comprends pas trop... pour l'instant je n'ai pas trouvé d'autre moyen que de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 /* blit de la surface pBloc sur le fond pFond */ SDL_BlitSurface(pBloc, NULL, pFond, &bloc); SDL_Flip(pFond);
Mais cela m'oblige a exprimer les coordonnées du bloc en fonction de screen et pas du fond....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SDL_BlitSurface(pBloc, NULL, pScreen, &bloc);
Voilà j'avoue que je bloque totalement... j'ai trouvé un moyen de m'en sortir mais c'est pas très pratique...si vous pouvez m'aider, ce serait sympa de votre part...
Merci d'avance, et désolé pour la longueur
++,
PierreAd[/code]
Partager