|
0 registered members (),
5,207
guests, and 4
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Sind mehrzeilige Textstrings möglich ?
[Re: witzdestages]
#396357
03/06/12 00:15
03/06/12 00:15
|
Joined: Feb 2005
Posts: 3,687 Hessen, Germany
Tempelbauer
Expert
|
Expert
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
|
Das TEXT-Objekt kann mehrere Strings beinhalten. Jeder String repräsentiert dann eine Zeile. Im Manual gibts dazu ein Beispiel: STRING* str1 = "Welcome"; STRING* this_is = "This is"; STRING* a = " a "; STRING* text = "Text";
TEXT* tWelcome = { flags = SHOW; string (str1, this_is, a, text, "and this another line!"); // create an array of 5 }
Ausserdem: Nichts hindert dich daran das Newline-Zeichen "\n" zu benutzen um einen Zeilenumbruch zu machen. Damit kannst du dann auch alles in einen String packen:
STRING* str1 = "Welcome\nThis is \na \nText\nand this another line!";
TEXT* tWelcome = { flags = SHOW; string(str1); // create an array of 5 string pointers }
Das produziert das gleiche Was mich aber an beiden stört ist das Handling mit dem Zeilenumbruch. In beiden Fällen gibst du ja an, wann die Zeile umgebrochen wird. Ein Text-Control mit automatischen Word-Wrap (am besten noch mit Ausrichtungen wie Links, Zentriert, Rechts und Blocksatz) gibts leider nicht bei Gamestudio. Aber vielleicht Lukas sowas in LBGUI eingebaut... Das wäre gerade bei größeren Textmengen sehr hilfreich und würde die Formatierung erleichtern
|
|
|
Re: Sind mehrzeilige Textstrings möglich ?
[Re: Damocles]
#396364
03/06/12 06:55
03/06/12 06:55
|
Joined: Dec 2003
Posts: 988 Germany, Magdeburg
JoGa
User
|
User
Joined: Dec 2003
Posts: 988
Germany, Magdeburg
|
Ich hatte mit dem Zeilenumbruch auch ein Problem im interface. Und zwar beim Zeichnen des Tooltiphintergrundes per draw_quad musste ich wissen, wie viele Zeilen bzw wie breit der Text ist. DDafür hab ich ne Funktion geschrieben, mit der man die "\n" zählen kann. Die Funktion sind garantiert noch optimierbar  Aber vll. hilft sie dem Threadersteller.
function str_count(STRING* str_zusuchend, STRING* str_untersuch) // zählt das Vorkommen einer bestimmten Zeichenfolge in einem string
{
int fundanzahl = 0;
int fundstelle;
STRING* str_untersuchungsabschnitt = "";
str_cpy(str_untersuchungsabschnitt, str_untersuch);
while(str_stri(str_untersuchungsabschnitt,str_zusuchend)) // solange sich noch etwas darin befindet, zähle
{
fundstelle = str_stri(str_untersuchungsabschnitt,str_zusuchend)+str_len(str_zusuchend)-1; // suche und schneide alles danach ab
str_clip(str_untersuchungsabschnitt, fundstelle);
fundanzahl ++;
}
return(fundanzahl);
}
Last edited by JoGa; 03/06/12 07:19.
|
|
|
Re: Sind mehrzeilige Textstrings möglich ?
[Re: JoGa]
#396381
03/06/12 12:28
03/06/12 12:28
|
Joined: Sep 2003
Posts: 6,861 Kiel (Germany)
Superku
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
|
Ich glaube, ihr macht euch alle viel zu viel Aufwand: WWRAP Activates word wrap for TTF texts. Words are moved to the next line when they don't fit into the text width (size_x).
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual Check out my new game: Pogostuck: Rage With Your Friends
|
|
|
Re: Sind mehrzeilige Textstrings möglich ?
[Re: Superku]
#396382
03/06/12 12:37
03/06/12 12:37
|
Joined: Feb 2005
Posts: 3,687 Hessen, Germany
Tempelbauer
Expert
|
Expert
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
|
achja... gut, das kam erst in A7.3 lange nachdem ich das letzte mal produktiv was mit texten gemacht hab  danke für den hinweis, gut zu wissen dass es das gibt (und jetzt wo ich mal im manual nachschaue: auch ARIGHT und CENTER)
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|