Coucou a tous !
Je vais de ce pas expliciter ce texte peu clair !
Mon but ? J'ai une chaine de caractére composé de texte et de balise ( type html~ ); je veut juste afficher mon texte formaté a l'ecran . Pour ca , j'ai trouvé une fonction qui remplie semble-til correctement son rôle ( bon j'en suis au tout début, donc c'est trés rudimentaire et il manque pas mal de fonction .
Pour l'instant je me contente de formater le exte sur UNE seule ligne et avec une seule balise .
Mon probléme réside dans le fait que mon texte ne se place pas ou je le souhaite dans l'espace ( le premir mot est toujour ou il faut, mais les suivant ne sont pas a une distance normale des autre mots .)
Je sais a quoi c'est du, mais je ne vois pas trop comment le résoudre
( c'est du a la ligne
voici le code de la fonction en entier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TraiterTexte(reste2,x+(12*pos),y);
Je peut expliquer certain passage si ce n'est pas trés clair !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 void cTexteDialogue::TraiterTexte(std::string temp, int x, int y) { std::string::size_type pos; std::string::size_type pos2; std::string balise ; std::string reste ; std::string reste2 ; pos = temp.find('['); if (pos == std::string::npos ) { cTexteManager::GetInstance().glPrint(x,y,temp.c_str()); } if (pos == 0 ) { pos2 = temp.find(']'); balise.insert(0,temp, 1 , pos2-1 ); TraiterBalise(balise); reste.insert(0,temp,pos2+1, std::string::npos); TraiterTexte(reste,x,y); } if ( pos > 0 && ( pos != std::string::npos ) ) { reste.insert(0,temp,0,pos); TraiterTexte(reste,x,y); reste2.insert(0,temp,pos,std::string::npos); TraiterTexte(reste2,x+(12*pos),y); } }
Enfait il me juste savoir OU et de combien je doit me deplacer selon x .
( le *12 est une valeur arbitraire, car je ne connais la taille exacte d'un font en largeur ; mais au pire, par tatonnement je devrai trouver la constante qui me convient, une fois la bonne formule ( en fonction de TAILLE_FONT ) trouvée !
merci d'avance !
edit: mon texte est de la forme :
ps: si je me trompe de forum, n'hésitez pas a déplacer !"AAAaaaaaaaaa [Color 255;0;0]HeHe[/Color] lol lol[Color 255;0;0] non Mais ohoo[/Color]"
Partager