Hi Community.
Ich arbeite gerade an einem Script, dass es mir ermöglicht ein Level in eine Text Datei zu speichern.
Mein Code zum Speichern sieht derzeit folgendermaßen aus:
[ scr_Save_Game ]
Alles anzeigen
Es Speichert einen Level so ab:
0 = Nichts,
1 = Spieler,
2 = Wand
Das klappt gut. Nur das Laden will noch nicht so richtig. Mein Code:
[ scr_Load_Game ]
Alles anzeigen
Er lädt die Levels zwar bis zur 9ten Reihe korrekt, aber die 10te lädt er nicht mehr.
Obwohl er noch eine Wand in Zeile 5 erstellen müsste.
Ich hab das schon mit vielen Arten probiert, das -1 weggelassen, etc... Wollte nich gehen, deshalb frag ich hier. ;D
Wie kann ich das Problem beheben?
Danke schonmal.
Ich arbeite gerade an einem Script, dass es mir ermöglicht ein Level in eine Text Datei zu speichern.
Mein Code zum Speichern sieht derzeit folgendermaßen aus:
[ scr_Save_Game ]
GML-Quellcode
- // Argument0: File
- var xx, yy, file, write;
- file = argument0;
- write = file_text_open_write (file);
- for (yy = 0; yy < room_height; yy += 32) {
- for (xx = 0; xx < room_width; xx += 32) {
- var obj;
- obj = instance_position (xx, yy, all);
- if (obj != noone) {
- if (obj.object_index == obj_Player) {
- file_text_write_string (write, string (1));
- }
- else if (obj.object_index == obj_Wall) {
- file_text_write_string (write, string (2));
- }
- }
- else {
- file_text_write_string (write, string (0));
- }
- }
- file_text_writeln (write);
- }
- file_text_close (write);
Es Speichert einen Level so ab:
0 = Nichts,
1 = Spieler,
2 = Wand
Das klappt gut. Nur das Laden will noch nicht so richtig. Mein Code:
[ scr_Load_Game ]
GML-Quellcode
- // Argument0: File
- var xx, yy, file, write;
- file = argument0;
- write = file_text_open_read (file);
- strpos = 0;
- str = "";
- for (yy = 0; yy < room_height; yy += 32) {
- var i;
- str = file_text_read_string (write);
- for (i = 1; i < string_length (str); i += 1) {
- if (string_char_at (str, i) == "1") {
- instance_create ((i - 1) * 32, yy, obj_Player);
- }
- else if (string_char_at (str, i) == "2") {
- instance_create ((i - 1) * 32, yy, obj_Wall);
- }
- }
- file_text_readln (write);
- }
- file_text_close (write);
Er lädt die Levels zwar bis zur 9ten Reihe korrekt, aber die 10te lädt er nicht mehr.
Obwohl er noch eine Wand in Zeile 5 erstellen müsste.
Ich hab das schon mit vielen Arten probiert, das -1 weggelassen, etc... Wollte nich gehen, deshalb frag ich hier. ;D
Wie kann ich das Problem beheben?
Danke schonmal.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fabse64 ()