AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 get_text_limited

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: get_text_limited   Mar 28 Mai 2013 - 8:16

Petit script simple mais bien utile Smile
On donne la largeur d'un rectangle ainsi qu'un texte, et il rajoute des sauts de lignes à chaque fois que c'est nécessaire sans couper les mots :

get_text_limited(text,width)
Code:

txt=argument0;
w=argument1;

for(i=0;i<string_length(txt);i+=1){
    if(string_width(string_copy(txt,0,i))>w){
        for(j=i;j>0;j-=1){
            if(string_char_at(txt,j)==" "){
                txt=string_copy(txt,0,j-1)+"#"+string_copy(txt,j+1,string_length(txt));
                break;
            }
        }
    }
}

return txt;

Il suffit ensuite d'afficher le texte avec un simple draw_text !
Exemple avec ce texte comme argument, sans aucun retour à la ligne.
Citation :
Bienvenue dans World War IV, plus précisément dans le menu de spawn ! C'est ici que vous viendrez à chaque fois que vous mourrez ! Vous pouvez choisir une arme principale, une arme secondaire et une capacité/bonus parmi les 6 disponibles dans chaque catégorie ; vous serez également équipés d'un couteau ! Vous pourrez regarder l'avancée de vos statistiques, vos objectifs, améliorer votre blindage ; puis, enfin choisir un PC ou apparaître !
Et voilà ce qui est ensuite affiché :

Le texte ne sort pas du cadre blanc, qui a la même largeur que celle passée en argument Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
nolialsea
Débutant


Messages : 28
Localisation : Montpellier

MessageSujet: Re: get_text_limited   Mar 28 Mai 2013 - 8:22

Ahah merci, ça va m'être très utile !
Depuis le temps que j'essayais de faire quelque chose de compact pour ça.
Revenir en haut Aller en bas
hyper
Utilisateur confirmé: Rang ****
avatar

Messages : 1433

MessageSujet: Re: get_text_limited   Mar 28 Mai 2013 - 17:16

C'est super, ce script ! Very Happy Plus besoin de tester le jeu 50 fois pour vérifier si la phrase déborde pas ! kill
Je vais te mettre dans mes remerciements.

_________________
côt.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: get_text_limited   Mar 28 Mai 2013 - 17:25

Y avais pas draw_text_ext pour ça sinon?
(même s'il ne fonctionne pas pour un texte qui défile, du coup...)

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Re: get_text_limited   Mar 28 Mai 2013 - 17:46

Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: get_text_limited   Mar 28 Mai 2013 - 18:45

Caly a écrit:
*Mode rabat-joie*

http://cbna.forumactif.com/t12002-stringresize
****** j'étais sur de l'avoir déjà vu ce script, je l'ai cherché mais je l'ai pas retrouvé....

Onilink_ > Bah ca fera toujours que la deuxième fois que je me fais niquer avec ca... J'ai toujours cru que c'était pour choisir l'espacement en pixels entre deux caractères...

Et sinon :
Spoiler:
 

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: get_text_limited   

Revenir en haut Aller en bas
 
get_text_limited
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

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