Se connecter avec
S'enregistrer | Connectez-vous

[C++]afficher du texte avec la SDL

Dernière réponse : dans Programmation

Bonjour , je me suis mis il y a peu à la SDL dans le but de faire des petits jeux . J'ai compris comment manipuler les surfaces mais il y a un probleme avec l'affichage de texte . J'ai fait le code suivant :
  1. #include <iostream>
  2. #include<sdl/SDL.h>
  3. #include <sdl/SDL_ttf.h>
  4. using namespace std;
  5.  
  6. int pause();
  7.  
  8. int main()
  9. {
  10.  
  11.  
  12. SDL_Init(SDL_INIT_VIDEO);
  13.  
  14. SDL_Surface *texte;
  15. SDL_Surface *ecran = NULL;
  16. SDL_Rect Position;
  17.  
  18. ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
  19.  
  20. SDL_Color color;
  21. color.r=(SDL_MapRGB(ecran->format,255,0,0));
  22. color.g=(SDL_MapRGB(ecran->format,0,255,0));
  23. color.b=(SDL_MapRGB(ecran->format,0,0,255));
  24.  
  25. TTF_Font *police;
  26.  
  27. police = TTF_OpenFont("police.ttf", 32);
  28.  
  29. char message[] = "hello";
  30.  
  31.  
  32. // Mise en place de du texte:
  33. texte = TTF_RenderText_Solid(police,message,color);
  34.  
  35. Position.x = 300;
  36. Position.y = 200;
  37.  
  38. SDL_BlitSurface(texte, NULL, ecran, &Position);
  39. SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 17, 206, 112));
  40. SDL_Flip(ecran);
  41.  
  42. pause();
  43.  
  44.  
  45.  
  46. SDL_Quit();
  47.  
  48. }
  49.  
  50. int pause()
  51. {
  52. int continuer = 1;
  53. SDL_Event event;
  54.  
  55. while (continuer)
  56. {
  57. SDL_WaitEvent(&event);
  58. switch(event.type)
  59. {
  60. case SDL_QUIT:
  61. continuer = 0;
  62. }
  63. }
  64. }


Quand j'execute , je vois bien ma fenetre verte comme il faut . Mais pas une trace de texte .

Est ce que quelqu'un vois une erreur ou est ce que j'ai oublié quelque chose ?

PS : Escusez ce code plus que sale mais pour l'instant mes code sont plus des test qu'autre chose .

Merci

Autres pages sur : afficher texte sdl

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde