====== Différences ====== Ci-dessous, les différences entre deux révisions de la page.
allegro:addon_fonts [2011/12/17 05:19] mrhide [Utilisation] |
allegro:addon_fonts [2018/09/06 18:16] (Version actuelle) mrhide Lien vers générateur de fonte bitmap supporté par Allegro5 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== Chargement des fontes Bitmap ===== | + | ===== Allegro — Polices de caractères ===== |
+ | ==== Chargement des fontes Bitmap ==== | ||
- | Dans cet exemple, on va utiliser [[http://mrhide.eu/f/font.png|cette fonte]].\\ | + | Dans cet exemple, on va utiliser cette fonte: {{allegro:silver_font.png?linkonly}} (les glyphes sont en blanc, donc elles se voient mal).\\ |
Une fonte Bitmap doit respecter un certain format : | Une fonte Bitmap doit respecter un certain format : | ||
* On doit avoir une couleur de fond sur tout le bitmap (par exemple le rose bonbon (FF, 00, FF) | * On doit avoir une couleur de fond sur tout le bitmap (par exemple le rose bonbon (FF, 00, FF) | ||
Ligne 37: | Ligne 38: | ||
</code> | </code> | ||
- | Cette fonction renvoie une fonte prête à l'emploi ou NULL en cas d'échec. | + | Cette fonction renvoie une fonte prête à l'emploi ou **NULL** en cas d'échec. |
- | ===== Chargement des fontes TTF ===== | + | |
+ | <code c> | ||
+ | int ranges[] = {' ', '~'}; | ||
+ | </code> | ||
+ | Regardez notre //font.png//, les glyphes représentées sont les caractères ascii de ' ' à '~', cette variables contient les bornes (par paires) des caractères représentées par les glyphes, les valeurs peuvent être en unicode puisque allegro les supporte ! | ||
+ | |||
+ | Ensuite on charge un bitmaps avec la même méthode que celle de l'[[allegro:bitmaps#charger_des_bitmaps_depuis_le_disque|article sur les bitmaps]]. | ||
+ | |||
+ | **al_grab_font_from_bitmap** prend en paramètres le bitmap, le nombre de bornes (taille de //ranges// divisée par 2) et les bornes. Elle renvoie **NULL** en cas d'échec. | ||
+ | |||
+ | //P.S.// pour créer vos fontes ceci peux vous intéresser : [[http://www.angelcode.com/products/bmfont/|BMFont]].\\ | ||
+ | [[allegro:bitmap_fonts|Fontes bitmap présentes sur ce site]]. | ||
+ | ==== Chargement des fontes TTF ==== | ||
Ce greffon permet de charger des fontes TTF pour les utiliser avec les fonctions du greffon Font : celui-ci doit donc être initialisé en premier. | Ce greffon permet de charger des fontes TTF pour les utiliser avec les fonctions du greffon Font : celui-ci doit donc être initialisé en premier. | ||
Ligne 75: | Ligne 88: | ||
Pour changer la taille, il faut regarder la fonte en réutilisant cette fonction avec une taille différente. | Pour changer la taille, il faut regarder la fonte en réutilisant cette fonction avec une taille différente. | ||
+ | |||
+ | ==== Dessiner du texte ==== | ||
+ | |||
+ | Rien de plus simple : | ||
+ | |||
+ | <code c> | ||
+ | float x = 0, y = 0; | ||
+ | al_draw_text(font, al_map_rgb(0, 0, 0), x, y, 0, "Hello World !"); | ||
+ | </code> | ||
+ | |||
+ | Elle prend en paramètres : | ||
+ | * La fonte | ||
+ | * Une couleur pour teindre (si c'est une bitmap en couleurs, mettre #FFFFFF(blanc) pour ne pas teindre) | ||
+ | * les coordonnées X, Y du coin supérieur gauche où sera dessiné le texte | ||
+ | * Une valeur pour changer l'alignement du texte parmi : | ||
+ | * **ALLEGRO_ALIGN_LEFT** (ou 0) | ||
+ | * **ALLEGRO_ALIGN_CENTRE** X, Y est le coin supérieur au "\\milieu\\" | ||
+ | * **ALLEGRO_ALIGN_RIGHT** X, Y est le coin supérieur droit | ||
+ | * La chaine à afficher. | ||
+ | |||
+ | C.F. [[http://liballeg.org/a5docs/trunk/font.html]] | ||
+ | |||
+ | ==== Fonte de débogage ==== | ||
+ | |||
+ | Depuis la 5.0.8, Allegro vient avec une font bitmap intégrée pour afficher des informations de débogage (en effet la taille des glyphes sont de 8x8 pixels). | ||
+ | |||
+ | Le bitmap est enregistré dans la mémoire, mais la fonte n'est pas créée, vous devez demander à Allegro de le faire puis vous **devez la détruire** lorsque votre jeu se ferme. | ||
+ | |||
+ | <code c> | ||
+ | ALLEGRO_FONT *dbg_font = al_create_builtin_font(); | ||
+ | /* ... code ... */ | ||
+ | al_destroy_font(dbg_font); | ||
+ | </code> | ||
+ | |||
+ | Le jeu de caractères est le suivant : | ||
+ | * caractères ASCII | ||
+ | * Latin 1 | ||
+ | * Extended A | ||
+ | * Symbole €uro | ||
[[allegro:addons|Liste des greffons]] | [[allegro:addons|Liste des greffons]] |