Willkommen zum ersten Tutorial meiner Reihe "RPG Maker MV for Runaways, RPG Maker MV für Fortgelaufene".
Wer kennt es nicht? Da will man mit einer Variable im Maker arbeiten und zack, hat man schon alle 5000 verbraucht. Was das kennt keiner? Nun ähm, trotzdem könnt ihr das Problem nach diesem Tutorial umgehen!
Für dieses Tutorial werden Script Befehle benötigt. Dieses Tutorial ist also nicht für Anfänger geeignet.
Was euch erwartet:
- Wir lernen Arrays kennen
- Wir lernen, wie man Arrays im Maker deklariert
- Wir lernen mit den Arrays zu arbeiten
Was ist eigentlich ein Array
Arrays sind im Grunde ganz normale Variablen, die Zahlen oder Buchstaben speichern können. Dabei ist der entscheidende Unterschied der, dass sich ein Array nicht nur eine Zahl bzw. nur einen Buchstaben merken kann.
Ein Array hat nämlich die Fähigkeit mehrere Gruppen von Werten in einem Datenfeld zu speichern.
Das wird praktisch, wenn man zum Beispiel mit mehreren Werten arbeiten möchte, die aber eine übergeordnete Gruppe haben.
So muss man für zum Beispiel ein Blumenfeld, auf dem man die Farben der Blumen anpassen kann, für jede Blume eine Variable erstellen, dessen Wert dann die Farbe der Blume angibt.
Das verbraucht Unmengen an Variablen, die man für andere Sachen nutzen könnte. Und hier helfen die Arrays. Mit diesen kann man nämlich in einer Variable die Farbe aller Blumen speichern.
Wie deklariere ich ein Array
Anders als die normalen Variablen muss ein Array erst deklariert (erstellt) werden, bevor es beschrieben werden kann. Macht man das nicht werden Werte weder umgeschrieben noch gespeichert.
Bei der Deklaration muss außerdem angegeben werden wie viele Werte ein Array speichern soll.
So kann Array „A“ zum Beispiel für 5 Werte deklariert werden und Array „B“ für nur 2. Also im Beispiel von unserem Blumenfeld, wie viele Blumen sich auf dem Feld befinden.
Deklarieren kann man ein Array mit folgendem Script call: $gameVariables.setValue(ID, [a, b, c]);
ID = Die Nummer der Variable, die zu einem Array werden soll.
a b c = Beliebige Zahlen, Buchstaben und oder Wörter.
Beispiel:
Unser Blumenfeld soll 5 Blumen besitzen und diese Information über dessen Farbe in Variable 12 speichern, so deklarieren wir das Array wie folgt:
$gameVariables.setValue(12, [0, 0, 0, 0, 0]);
Dabei wird die Farbe aller 5 der Blumen zunächst auf den Wert 0 gesetzt. Allerdings kann man bei einer Deklaration auch schon Werte in das Array eintragen. So gehen zum Beispiel:
$gameVariables.setValue(12, [4, 6, 2, 4, 5]);
$gameVariables.setValue(12, [“Blau”, ”Rot”, “Grün”, “Blau”, “Weiß”]); Achtung! Wenn Zeichen in einem Array gespeichert werden sollen, müssen die Zeichen in Anführungsstrichen angegeben werden.
Wie arbeite ich mit Arrays
Da unser Array nun deklariert ist, können wir beliebig oft Änderungen an ihm vornehmen (Sofern wir nicht über die Größe des Array hinausgehen).
Wollen wir zum Beispiel einen Wert innerhalb des Arrays ändern, geht das mit folgendem Script call:
$gameVariables.value(ID)[x] = y;
ID = Nummer des Array.
x = Index des Array (Achtung! Ein Index beginnt immer bei 0! So hat die erste Stelle im Array den Index 0 und nicht 1!)
y= Wert
Solltet ihr ein Array nach der Deklaration trotzdem noch erweitern oder kürzen wollen, dann geht das mit folgendem Code
X als hintersten Wert hinzufügen: $gameVariables.value(variableId).push(x)
Den hintersten Wert abziehen: $gameVariables.value(variableId).pop()
Außerdem können wir nun abfragen, ob ein bestimmter Index in einem Array einen bestimmten Wert hat. Das geht wie folgt:
Hier wird geprüft, ob der erste Wert aus Variable 1 gleich 5 ist.
Des Weiteren ist es nun möglich alle Werte im Array auf verschiedene Arten und weisen miteinander zu vergleichen:
Operator | Bedeutung | Ergebnis der Opertaion |
---|---|---|
== |
ist gleich |
Prüft, ob beide Werte gleich sind. |
!= | ungleich | Prüft, ob beide Werte ungleich sind. |
> | größer | Prüft, ob der linke Wert größer als der rechte ist. |
< | kleiner | Prüft, ob der linke Wert kleiner als der rechte ist. |
>= | größergleich | Prüft, ob der linke Wert größer oder gleich dem rechten ist. |
<= | kleinergleich | Prüft, ob der linke Wert kleiner oder gleich dem rechten ist. |
So, das wars auch schon für heute. Falls sich wärend des lesens noch Fragen aufgetan haben, könnt ihr die gerne stellen.
MfG
Mashiro Jin