Lite-C/Workshop1 04 Strings

Aus Scientia
Version vom 24. Dezember 2011, 14:52 Uhr von Espér (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Grundlagenkurs Schwierigkeitsgrad Stern.png
Autor Espér
Thematik Lite-C
Vorraussetzungen Programme:
3DGS Trial-Version

Free Edition

Fähigkeiten: keine

Andere Teile

Strings sind unser erstes Sprachmittel zum Spieler. Zeit sie zu erklären!

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.