Bonjour, j'essaye de programmer un jeu, dans le cadre de mes études mais je rencontre quelques soucis avec la ttf, je n'arrive pas à afficher le score de mes joueurs.
voici les deux fonctions que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 void showMessageScreen(string message,int x,int y, TTF_Font *font,int fontSize,SDL_Color textColor,SDL_Surface* &screen) { string mot=""; string space=" "; int i=0,j; SDL_Surface *mes=NULL; j = message.find(space); while( j != string::npos ) { mot=message.substr(i,j-i); if(mot != "") { mes=TTF_RenderText_Solid(font,mot.c_str(),textColor); applySurface(x,y,mes,screen,NULL); x+=mes->w; SDL_FreeSurface(mes); } x+=fontSize; i=j+1; j = message.find(space,i); } mot=message.substr(i); mes=TTF_RenderText_Solid(font,mot.c_str(),textColor); applySurface(x,y,mes,screen,NULL); SDL_FreeSurface(mes); }
Les scores ne s'affichent pas, si vous pouvez m'aider ce sera cool.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 void afficherscore() { SDL_Surface *screen; SDL_Event event; SDL_Init(SDL_INIT_EVERYTHING); screen=SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGHT, SCREEN_BPP,SDL_SWSURFACE); //intialisation pour la gestion de l'affichage des fontes TTF_Init(); //declaration d'une variable de type fonte TTF_Font *fonts; //declaration d'une variable permettant de gérer la couleur du texte SDL_Color textColor= {255,255,255}; SDL_Color textColor2= {255,255,0}; SDL_Color textColor3= {0,0,0}; int fontSize=36; int fontSize2=9; string police="PiratesBay.ttf"; //ouverture de la fonte fonts = TTF_OpenFont(police.c_str(),fontSize); //afficher les points des joueurs ostringstream mssg1; ostringstream mssg2; ostringstream mssg3; mssg2.flush(); mssg1.str(""); mssg1.flush(); mssg2.str(""); sjoueur j; mssg1 << j.ScoreJ2; mssg2 << j.ScoreJ1; showMessageScreen(mssg1.str(),122,50,fonts,fontSize,textColor3,screen); showMessageScreen(mssg2.str(),50,50,fonts,fontSize,textColor3,screen); TTF_CloseFont(fonts); TTF_Quit(); }
Merci à tous ceux qui ont lu mon message.
Partager