Communauté

Comment afficher du...
 
Notifications
Retirer tout

[Résolu] Comment afficher du texte dans une fenêtre en utilisant seulement la SDL2 et le langage C ?

2 Posts
2 Utilisateurs
0 Likes
50 Vu
0
Début du sujet

Bonjour, je dois créer une application linguistique en utilisant uniquement le langage C ainsi que la SDL2. Je suis actuellement en train de créer le menu de mon application. Cependant, je ne trouve pas comment afficher du texte, pour par exemple afficher le nom de l'application ainsi que les règles du jeu.

J'ai installé la librairie SDL_ttf. Cependant, j'ai plusieurs messages d'erreur lors de la compilation. En cherchant sur Internet, je n'ai pas trouvé comment afficher du texte en utilisant uniquement du C et la SDL2. Donc j'aurais voulu savoir comment faire. Merci d'avance.

 

Capture d’écran du 2022 11 18 14 39 53

 

Menu

 

Étiquettes du sujet
2 Réponses
0

@zaykoz 

Afficher du texte avec la SDL2 seule c'est impossible car elle ne propose rien pour cela. ll te faudrait coder ta propre SDL_ttf ou de coder un système d'affichage de police bitmap.

Je te conseille donc SDL_ttf qui est facile à mettre en oeuvre.

Si tu as des messages d'erreurs à la compilation, analyse les et corrige les problèmes exposés.

Vu que tu codes en C avec la SDL2 tu dois être à l'aise avec tout ce qui est préprocesseur, compilateur, linker. Si ce n'est pas le cas, alors attention à ne pas bruler les étapes.

A priori tu as mal installé la librairie.

Comme je l'explique pour la librairie SDL_image (voir ici) la méthode est la même pour installer la SDL_ttf:

- télécharger le binaire adapté à ta plateforme

- installer le binaire au bon endroit (suivre ma formation pour organiser un projet facilement)

- installer les headers dans le répertoire include de ton projet

- modifier ton makefile, ton script, ou ta ligne de commande, pour linker avec la SDL_ttf

Ensuite, il faut suivre la doc de SDL_ttf :

- Initialiser SDL_ttf avec TTF_Init, au même moment que tu initialises la SDL2, la SDL_image, etc.

- Ouvrir une font avec TTF_OpenFont (et penser à la libérer avec TTF_CloseFont quand il le faut)

- Générer une texture avec ton texte, en récupérant la surface générée par TTF_RenderUTF8_Solid et en la transformant en texture avec SDL_CreateTextureFromSurface

- Afficher la texture

Tu trouveras pas mal d'exemples sur le net, par exemple ici :

https://stackoverflow.com/questions/22886500/how-to-render-text-in-sdl2

0
Début du sujet

Je vais essayer ça. Merci beaucoup 😁.

Répondre
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.