| Texte auto-redimensionné dans une "boite" | |
|
|
Auteur | Message |
---|
Invité Invité
| Sujet: Texte auto-redimensionné dans une "boite" Dim 15 Juin 2014 - 17:54 | |
| Bonjour, Je me casse la tête à chercher une solution à ce problème. Je voudrais afficher une texte dans une rectangle à dimensions fixes. Je veut que le texte à l'intérieur se redimensionne afin d'occuper le maximum d'espace de ce rectangle (sans dépasser, en gardant les proportion largeur/hauteur des caractères de la chaîne). Voici mon code actuel le plus abouti pour l'instant pour réaliser cette fonction: - Code:
-
var lar,hau,coeff; coeff = 1.01; do { coeff -= 0.01; lar = coeff * string_width_ext(TEXTE,-1,407*(2-coeff)); hau = coeff * string_height_ext(TEXTE,-1,407*(2-coeff)); } until ((lar <= 407)&&(hau <= 30)) draw_text_ext_transformed(35,215,TEXTE,-1,407*(2-coeff),coeff,coeff,0);
Ce code fonctionne assez bien, mais il n'occupe pas toute la place disponible (ce qui peut trop diminuer la taille de la police d'écriture). Je suis sous GameMaker:Studio, je ne peut pas utiliser la fonction font_replace (car destinée uniquement au projet HTML5). Un script de Levans ( https://cbna.forumactif.com/t4387-formater-un-texte-a-une-boite-gm6) semblait bien remplir cette fonction, mais utilise la fonction font_replace. Si quelqu'un à la solution, je suis tout ouï. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Texte auto-redimensionné dans une "boite" Dim 15 Juin 2014 - 20:45 | |
| Je t'avoue que j'ai pas vraiment lu le code, mais autrement ia ca : https://cbna.forumactif.com/t12325-get_text_limited ou draw_text_ext(). Mais effectivement ca fait pas la même chose. Sinon pour on truc, un petit produit en croix devrait suffire nan ? Genre : taille_a_utiliser=taille_par_defaut*largeur_max/string_width(txt) _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Invité Invité
| Sujet: Re: Texte auto-redimensionné dans une "boite" Dim 15 Juin 2014 - 20:53 | |
| J'ai omis un détail: Il faut qu'en plus le texte s'adapte au cadre mais il faut aussi que la police d'écriture diminue si le texte n'a pas assez de place pour entrer dans le cadre (afin que tout le texte s'affiche dans le cadre en exploitant le maximum de place). |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Texte auto-redimensionné dans une "boite" Dim 15 Juin 2014 - 21:09 | |
| Ouais bah voilà, t'as juste à créer une font dynamiquement avec taille_a_utiliser (que tu viens de calculer), et à la choisir puis c'est bon. _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Invité Invité
| Sujet: HTML5 Dim 15 Juin 2014 - 22:34 | |
| Malheureusement, sous GameMaker:Studio, les fonctions font_add et font_replace ne fonctionne que pour le module HTML5. Donc impossible de créer une police dynamiquement.
J'ai l'impression que ma seul solution est de créer plusieurs Fonts de tailles différentes (je trouve pas ça terrible comme solution). |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Texte auto-redimensionné dans une "boite" Dim 15 Juin 2014 - 22:35 | |
| Ah oui bah dans ce cas... >< Donc ouais faudrait que tu prédéfinisse plusieurs font, mais c'est décidemment à ***** niveau opti... :/ _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Invité Invité
| Sujet: agencement Lun 16 Juin 2014 - 21:23 | |
| Ou bien, le cadre devra avoir une taille dynamique, ce qui mes demande de surveiller l'agencement de l'affichage. |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Texte auto-redimensionné dans une "boite" Lun 16 Juin 2014 - 22:04 | |
| ou alors tu met le texte dans une surface qui elle se redimensionnera en fonction de la taille du texte, tu justifies le texte (justifier un texte sert a le rendre aligné des deux cotés, quand tu écris un post ici, c'est la 8eme icône) puis tu affiches la texture de la surface et le tour est joué.
Assure toi bien que la taille de le surface soit un multiple de ta box, soit 407*30 a ce que j'ai compris. Mais... C'est juste une ligne ou un plus gros texte (genre aparté dans un dialogue) ? |
|
| |
Invité Invité
| Sujet: Surface Lun 16 Juin 2014 - 22:47 | |
| - gabin49 a écrit:
- Mais... C'est juste une ligne ou un plus gros texte (genre aparté dans un dialogue) ?
C'est un texte pouvant faire plusieurs lignes. Je ne connais pas l'utilisation des surfaces, je vais étudier la doc de GameMaker et je dis ce qu'il en ai. |
|
| |
Contenu sponsorisé
| Sujet: Re: Texte auto-redimensionné dans une "boite" | |
| |
|
| |
| Texte auto-redimensionné dans une "boite" | |
|