Gamestudio Links
Zorro Links
Newest Posts
FXCM demo test failed
by qin. 01/13/26 13:53
Camera always moves upwards?
by NeoDumont. 01/12/26 09:39
Alpaca Plugin v1.5.2 Release
by kzhao. 01/11/26 13:42
Alpaca Plugin v1.4.0
by kzhao. 01/11/26 13:38
separating groups of 3 digits by a comma
by joe_kane. 01/11/26 00:01
MRC.c and WFO
by joe_kane. 01/10/26 23:58
BarOffset (default = 940 for daily bars?
by joe_kane. 01/10/26 23:46
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
1 registered members (Quad), 6,361 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
promfast, joe_kane, Namitha_NN, Syndrela, agasior
19190 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Sind mehrzeilige Textstrings möglich ? #396354
03/05/12 23:30
03/05/12 23:30
Joined: Dec 2011
Posts: 13
W
witzdestages Offline OP
Newbie
witzdestages  Offline OP
Newbie
W

Joined: Dec 2011
Posts: 13
Hallo,

ich möchte gerade ein bisschen Story schreiben und möchte dazu mehrere Zeilen voll schreiben.
Alles was ich bis jetzt geschrieben habe ging leider nur in eine Zeile, also musste ich bis jetzt für jede Zeile einen eigenen "STRING*" und "TEXT*" erstellen. Das wird auf Dauer auch ganz schön viel, wenn man viel Story in das Spiel packen will.

Gibt es nicht ne Möglichkeit mehrere Zeilen in einem "STRING*" zu schreiben ?

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
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

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:
Quote:
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:
Quote:


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: Tempelbauer] #396362
03/06/12 06:30
03/06/12 06:30
Joined: Jan 2003
Posts: 4,305
Damocles Offline
Expert
Damocles  Offline
Expert

Joined: Jan 2003
Posts: 4,305
Das könnte man eigendlich mal als tool-code schreiben.

Daß Texte mit Formatierungsoptionen in eine Bitmap gerendert werden können.
(Dynamische gerenderte Texte wären mit der basis auch möglich.)

Am besten noch mit einfachen Markup-optionen (Farben, Schriftgrößen)

Und als Krönung mit Links im Text. (also zumindest das man
eine struktur hat wo die Outlines der Markierten Textstellen
gespeichert sind zur manuellen Weiterverarbeitung.)

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 Offline
User
JoGa  Offline
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 smirk
Aber vll. hilft sie dem Threadersteller.

Code:
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 Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Ich glaube, ihr macht euch alle viel zu viel Aufwand:

Originally Posted By: Manual, Text Flags
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
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

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 grin

danke für den hinweis, gut zu wissen dass es das gibt (und jetzt wo ich mal im manual nachschaue: auch ARIGHT und CENTER)


Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1