AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 Texte auto-redimensionné dans une "boite"

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyDim 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ï.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyDim 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.
Revenir en haut Aller en bas
Invité
Invité




Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyDim 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).
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyDim 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.
Revenir en haut Aller en bas
Invité
Invité




Texte auto-redimensionné dans une "boite" Empty
MessageSujet: HTML5   Texte auto-redimensionné dans une "boite" EmptyDim 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).
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyDim 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.
Revenir en haut Aller en bas
Invité
Invité




Texte auto-redimensionné dans une "boite" Empty
MessageSujet: agencement   Texte auto-redimensionné dans une "boite" EmptyLun 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.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" EmptyLun 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) ?
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Invité
Invité




Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Surface   Texte auto-redimensionné dans une "boite" EmptyLun 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.
Revenir en haut Aller en bas
Contenu sponsorisé





Texte auto-redimensionné dans une "boite" Empty
MessageSujet: Re: Texte auto-redimensionné dans une "boite"   Texte auto-redimensionné dans une "boite" Empty

Revenir en haut Aller en bas
 
Texte auto-redimensionné dans une "boite"
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fenêtre dos dans une boîte de texte ?
» texte auto-formaté
» Lire du GML dans un fichier texte
» Grand Theft Auto 3 dans Game Maker
» Une boite de dialogue dans laquelle on entre ses données..

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: