| stringResize | |
|
|
Auteur | Message |
---|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: stringResize Ven 19 Oct 2012 - 19:19 | |
| - Code:
-
/*######################################### Header(str Texte, int SizeMax);
Description: Met des sauts de lignes dans le "Texte" si la ligne dépasse la longeur en pixel indiqué par "SizeMax".
Note: ne pas oublier d'attribuer la police d'écriture avant d'appeler la fonction.
Arguments: 0 = Texte à traiter. 1 = largeur maximum en pixel des lignes du Texte.
#########################################*/
var str, index_pos, cursor_pos, save_pos; str = argument0; index_pos=0; cursor_pos=0; save_pos=0;
//Tant qu'on a pas vérifié tout les caractéres du texte. while( cursor_pos<string_length(str) ){ cursor_pos+=1; //Si le caractére est un espace. if( string_char_at(str, cursor_pos)==' ' ) //On récupere le mot. if( string_width( string_copy(str,index_pos,cursor_pos-index_pos) ) < argument1 ){ save_pos=cursor_pos+1; //si avec le mot on dépasse la limite. }else{ //on saute une ligne et on redéfini les positions des curseurs. str=string_insert('#',str,save_pos); index_pos=save_pos; cursor_pos=save_pos; } }
//Retourne le texte agencé. return str; |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: stringResize Ven 19 Oct 2012 - 19:57 | |
| Mais... c'est pas ce que fait draw_text_ext() ? _________________ Home is not a place, it's a feeling.
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: Re: stringResize Ven 19 Oct 2012 - 19:58 | |
| - Citation :
- Mais... c'est pas ce que fait draw_text_ext() ?
Ok, je viens de perdre dix minutes de ma vie. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: stringResize Ven 19 Oct 2012 - 20:00 | |
| Nan, draw_text_ext permet de définir la largeur entre les lignes et les caractères ; ca c'est pour afficher du texte sur plusieurs lignes sans dépasser d'un cadre par exemple.
Edit : j'ai rien dit et je viens d'apprendre quelque chose...
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: stringResize Ven 19 Oct 2012 - 20:03 | |
| Ahah :b Mais bon ça te fait monter ton skill c'est toujours ça de gagné :p |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: stringResize Ven 19 Oct 2012 - 20:55 | |
| Boh, on est bien en train de recoder des fonctions de parcours de liste nous... Ç'toujours rigolo de voir comment ça marche à l'intérieur :p _________________ Home is not a place, it's a feeling.
|
|
| |
Invité Invité
| Sujet: Re: stringResize Ven 19 Oct 2012 - 20:56 | |
| On plus quand on comprend le mécanisme on peut toujours trouver un moyen de l'améliorer |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: stringResize Ven 19 Oct 2012 - 21:07 | |
| De bien l'utiliser surtout. Genre, ne pas faire un parcours par index sur une liste chaînée... _________________ Home is not a place, it's a feeling.
|
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: stringResize Ven 19 Oct 2012 - 21:46 | |
| Oui mais là c'est pas compilé |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: Re: stringResize Ven 19 Oct 2012 - 22:17 | |
| Mmm le seul avantage c’est quand même que je peut stoker le texte formaté dans une variable (ce qui n'est pas d'une réelle nécessitée je l'admet). - Citation :
- on est bien en train de recoder des fonctions de parcours de liste
Voici avec quoi je m'amuse aussi: - Code:
-
//Initialisation dsSetDefault('NC'); dsSetSeparator(' :: ', '|');
//----- Inventaire. inventory=dsCreate("name|quantity|slot");
//----- Quêtes. quest=dsCreate("name"); dsAddKey(quest, "active"); dsAddKey(quest, "etape|money|xp"); dsAddItem(quest, "money :: 150000");
//----- Challenges. challenge=dsCreate("name|status|description");
dsAddItem(challenge, "name :: Poing de fer|"+ "status :: 0|"+ "description :: Tuer 10 ennemies à main nue.|" );
dsAddItem(challenge, "name :: Main de velours|"+ "status :: 0|"+ 'description :: Trouver 10 "Grande Bourses".|' );
dsAddItem(challenge, "name :: Griffes sanglantes|"+ "status :: 0|"+ "description :: Egorger 10 ennemies.|" );
dsAddItem(challenge, "name :: Doigts de fée|"+ "status :: 0|"+ "description :: Enchanter 10 armes blanches.|" ); |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: stringResize Ven 19 Oct 2012 - 22:35 | |
| Dommage qu'avec GM ce soit impossible de faire des listes :/ |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: Re: stringResize Sam 20 Oct 2012 - 13:32 | |
| Tu veux dire quoi par listes?
Sinon je n'ai pas perdu mes dix minutes car si on affiche caractère par caractère (affichage d'un dialogue à la RPG) "draw_text_ext" cause un p'tit bug tout moche. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: stringResize Sam 20 Oct 2012 - 13:47 | |
| Un liste (simplement chaînée la) c'est une structure : { Valeur, pointeur } ou pointeur pointe sur la prochaine case. En gros comme les tableaux tu peut y mettre plusieurs éléments, mais tu ne peut pas connaitre un élément en fonction de son identifiant. Il faut parcourir toute la liste pour trouver le dernier élément par exemple. L’intérêt c'est que l’insertion et la suppression d'éléments est constant quelque soit la taille de la liste : O(1)
Pour la liste doublement chaînée t'as deux pointeurs, un pour la case d'avant et un pour la case d'après.
Sinon le seul moyen que je vois sous GM de faire une liste, ce serais de déclarer un énorme tableau et l'utiliser comme un buffer. Pas très intéressant quoi...
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: Re: stringResize Sam 20 Oct 2012 - 19:38 | |
| Moi j'utilise une "Map" qui pointe vers des "List" niveau performance ça marche assez bien mais c'est réellement le bordel à mettre en place. Mais bon GM n'intégrera jamais les pointeurs, déjà q'une gestion de la mémoire et du typage c'est au dessus de leurs projets... |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: stringResize Sam 20 Oct 2012 - 19:43 | |
| Pas besoin de pointeurs de toute façon, suffit de faire un garbage collector et le tour est réglé :b
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 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.
| Sujet: Re: stringResize Sam 20 Oct 2012 - 19:56 | |
| Bha les "list" de GM fonctionne avec un GC. Vus que si tu as trois entrées et que tu supprime l'entrée 3 celle-ci deviens l'entrée deux. C'est d'ailleurs pour ça que j'utilise généralement les "list" plutôt que les tableaux. |
|
| |
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: stringResize Ven 26 Oct 2012 - 21:28 | |
| neanmoins il n'y a pas de fonction toute faite en C/C++, ce script peut servir avec un petit remodelage |
|
| |
Contenu sponsorisé
| Sujet: Re: stringResize | |
| |
|
| |
| stringResize | |
|