Hi Community,
ich habe ein kleines Script geschrieben, mit dem ihr ein Level aus einer externen Datei laden könnt.
Die genaue Anwendung erkläre ich unten.
Alles anzeigen
Die Leveldateien sind so aufgebaut:Natürlich können auch mehrere und längere Zeilen vorhanden sein.
Bei dem obigen Beispiel wäre 1 eine Mauer und 2 der Spieler. Wo eine 0 steht, wird keine Instanz erstellt.
Nun müsst ihr das Script nur noch ein wenig anpassen. Beispiel:
Und bei den folgenden Zeilen müsst ihr 24 mit der (Standard-)Breite eurer Objekte ersetzen. Falls der Origin eurer Sprites auf 'center' gestellt ist, müsst ihr -12 mit der Hälfte der (Standard-)Breite der Objekte ersetzen. Sonst könnt ihr es löschen (das -12, nicht die zwei Zeilen Code ;))Da die Leveldateien mit jedem beliebigen Texteditor bearbeitet werden können, empfiehlt es sich, sie zu verschlüsseln.
Ich hoffe das Script hilft ein paar Leuten
MfG,
-fabse64
ich habe ein kleines Script geschrieben, mit dem ihr ein Level aus einer externen Datei laden könnt.
Die genaue Anwendung erkläre ich unten.
GML-Quellcode
- // load_level(str path);
- var f, h, i, j, s;
- f = argument[0];
- h = file_text_open_read(f);
- j = 1;
- do {
- s = file_text_read_string(h);
- file_text_readln(h);
- for (i = 1; i <= string_length(s); i += 1) {
- var a, px, py;
- a = string_char_at(s, i);
- px = i * 24 - 12;
- py = j * 24 - 12;
- switch (real(a)) {
- case 1:
- instance_create(px, py, objObject1);
- break;
- case 2:
- instance_create(px, py, objObject2);
- break;
- case 3:
- instance_create(px, py, objObject3);
- break;
- }
- }
- j += 1;
- } until (file_text_eof(h));
- file_text_close(h);
Bei dem obigen Beispiel wäre 1 eine Mauer und 2 der Spieler. Wo eine 0 steht, wird keine Instanz erstellt.
Nun müsst ihr das Script nur noch ein wenig anpassen. Beispiel:
Ich hoffe das Script hilft ein paar Leuten
MfG,
-fabse64
fabse64 -> haiyyu
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fabse64 ()