Lite-C/Workshop1 04 Strings
| Grundlagenkurs | |
|---|---|
| Autor | Espér |
| Thematik | Lite-C |
| Vorraussetzungen | Programme: 3DGS Trial-Version Free Edition |
| Andere Teile | |
Strings sind unser erstes Sprachmittel zum Spieler. Zeit sie zu erklären!
Inhaltsverzeichnis
Vorbereitung
Schnappt euch wieder das Grundscript. Falls ihr es nichtmehr habt, schaut euch nochmal den Grundlagenkurs an, einen Link dazu findet ihr in der rechten Tutorialbox. Und schon gehts weiter...
STRINGS
Strings sind unsere wichtigste Option um texte in ein Spiel oder Programm zu integrieren. Und so wird ein String definiert:
STRING* name = "";
Dies erzeugt einen String Pointer mit bestimmtem name und ohne inhalt. Lasst uns einmal 50 Leerzeichen eisnetzen.
STRING* name = " ...";
LAAAAANGWEILIG. Darum haben wir dafür einen schnelleren weg. ich bezeichne ihn einmal als "#n" "n" ist hierbei die anzahl der Leerzeichen.
STRING* name = "#50";
Das wars schon.
Strings einbinden
Erinnert ihr euch an die digits. GENAU - diese kleinen codes um Zahlen in einem panel anzuzeigen. Diesen können wir auch verwenden um Text in einem panel anzuzeigen. Dazu verwenden wir einen Format Text.
STRING* name = "ZUVIELE!"; FONT* arial = "Arial#b20"; var prozenter = 99.9; PANEL* testpanel = { pos_x = 10; pos_y = 10; layer = 1; digits(0,0,"Prozent: %s", arial, 1, name); flags = SHOW; }
Der kleine Format Operator "%s" ermöglicht es uns statt einer Variable, einfach einen String in das Digit einzubinden.
Strings verändern
Es gibt viele Wege einen String zu verändern. A8 und Lite-C bieten uns hierführ viele Funktionen. Diese MÜSSEN alle in einer Funktion aufgerufen werden. Hier die wichtigsten:
| Code | Info |
STRING* name = "#20"; name = str_create("#50"); |
Erstellt einen neuen String zur Laufzeit. Der ehemalige Inhalt wird dabei überschrieben. |
STRING* name = "#20"; str_cpy(name, "Neuer String"); |
kopiert den Inhalt eines neuen Strings oder "Texts" in einen anderen. Der erste String wird dabei komplett überschrieben! |
STRING* name = "#20"; str_cat(name, "Neuer String"); |
Hängt den Inhalt des 2. Strings an das Ende des Ersten an. |
STRING* name = "#20"; var lenght = str_len(name); if(str_len(name) > 12) |
Gibt die Zeichenanzahl der im String vorhandenen zeichen zurück, und speichert sie in einer Variable. |
STRING* name = "#20"; var breite = str_width(name, FONT*); if(str_width(name, FONT*) > 256) |
Gibt die Pixelbreite des Strings mit angegebenem Font zurück, und speichert sie in einer Variable. |
STRING* name = "#20"; if(str_cmpi(name, "Neuer String")); |
Fragt ab ob String 1 und 2 GLEICH sind. Er gibt dabei 1 zurück falls ja, und 0 falls nein. Groß- und Kleinschreibung werden hierbei NICHT berücksichtigt. |
STRING* name = "#20"; str_clip(name, Menge); |
Trennt die angegebene Anzahl an Zeichen vom Beginn des Strings ab |
STRING* name = "#20"; str_trunc(name, Menge); |
Trennt die angegebene Anzahl an Zeichen vom Ende des Strings ab |
Es gibt noch weißt mehr String Manipulationen. Doch das waren die wichtigsten.