Rooms speichern

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Rooms speichern

    Hi!
    Ich hab eine Frage:
    Ich mache gerade ein Spiel wo man sich eigene Level bauen kann also ein Editor.
    Aber ich weiß nicht wie man Räume speichert, oder geht das überhaubt.
    Kann mir jemand sagen wie man Räume speichert und öffnet???
  • Nur schonmal als vorwarnung es ist alles andere als Leicht. Ich empfehle dir die Objeckt in einem Array zu legen und wieder abzurufen. So hab ich es gemacht. Wie man es speichert oder wie mein Editor aussieht kannst du hier lesen. Und hier herunterladen. Du kannst auch unter Room/Settings/Persistent das Häckchen aktivieren ob alles so bleibt wenn man den Room verlässt und wieder aufruft.

  • Danke für die Hilfe!!!(bis jetzt)
    Das mit dem Persistent wusste ich zwar noch nicht, aber das brauche ich nicht, denn ich will, dass man das Spiel immer öffnen kann.(trotzdem danke)
    Ich hab mir auch den Editor (von Chris987) angekuckt aber ich glaube da wurden nur die x und y Werte der Objekte gespeichert, aber ich will, dass man in dem Editor die Objekte z.b. auch drehen kann und da muss ich auch noch andere Variablen speichern und ich weiß nicht wie das DA geht.
    Aber ich hab auch noch den anderen Thread angekuckt hab das speichern da nicht gecheckt, dann hab ich einen anderen Link gefunden bei dem ich das schon viel mehr gecheckt hab, da hab ich das dann auch in einem Test Spiel mit den eigenen Variablen hingekriegt.
    Das sah dann so aus:
    Speichern:
    Spoiler anzeigen

    GML-Quellcode

    1. // scr_save();
    2. var file;
    3. file = file_text_open_write("save.dat");
    4. file_text_write_real(file,lives); file_text_writeln(file);
    5. file_text_write_real(file,score); file_text_writeln(file);
    6. with (obj_Typ) {
    7. file_text_write_real(file,0); file_text_writeln(file);
    8. file_text_write_real(file,x); file_text_writeln(file);
    9. file_text_write_real(file,y); file_text_writeln(file);
    10. file_text_write_string(file,name); file_text_writeln(file);
    11. file_text_write_real(file,hspeed); file_text_writeln(file);
    12. file_text_write_real(file,vspeed); file_text_writeln(file);
    13. file_text_write_real(file,Richtung); file_text_writeln(file);
    14. }
    15. with (obj_Wand) {
    16. file_text_write_real(file,1); file_text_writeln(file);
    17. file_text_write_real(file,x); file_text_writeln(file);
    18. file_text_write_real(file,y); file_text_writeln(file);
    19. }
    20. file_text_close(file);
    Alles anzeigen

    Öffnen:
    Spoiler anzeigen

    GML-Quellcode

    1. with(all){instance_destroy()}// scr_load();
    2. var file,type,xx,yy,obj;
    3. file = file_text_open_read("save.dat");
    4. lives = file_text_read_real(file); file_text_readln(file);
    5. score = file_text_read_real(file); file_text_readln(file);
    6. while (!file_text_eof(file)) {
    7. type = file_text_read_real(file); file_text_readln(file);
    8. switch (type) {
    9. case 0:
    10. xx = file_text_read_real(file); file_text_readln(file);
    11. yy = file_text_read_real(file); file_text_readln(file);
    12. obj = instance_create(xx,yy,obj_Typ);
    13. obj.name = file_text_read_string(file); file_text_readln(file);
    14. obj.hspeed = file_text_read_real(file); file_text_readln(file);
    15. obj.vspeed = file_text_read_real(file); file_text_readln(file);
    16. obj.Richtung = file_text_read_real(file); file_text_readln(file);
    17. break;
    18. case 1:
    19. xx = file_text_read_real(file); file_text_readln(file);
    20. yy = file_text_read_real(file); file_text_readln(file);
    21. obj = instance_create(xx,yy,obj_Wand);
    22. break;
    23. }
    24. }
    25. file_text_close(file);
    26. instance_create(0,0,obj_Save)
    Alles anzeigen

    Jetzt weiß ich aber nicht ob man das noch leichter oder kürzer machen kann, weil wenn man viele Objekte hat dauert das ja ewig.
    Jetzt noch ein paar Fragen:
    1.Was ist ein Array? (Warscheinlich eine Datei wo mann Sachen speichern kann)
    2.Für was steht file_text_write_string(file,name)und was muss man bei name reinschreiben
    (ist bei mir nicht ausgefüllt und dann gibts nen Error)
    3.Kann mir jemand vielleicht ein Tutorial zeigen oder mir es erklären wie es richtig geht(denn ich checks immer noch nicht ganz)
    PS:
    Ich hab bei "name" einfachmal obj_Typ eingegeben.
    Und Hier noch mein Test Spiel
    Dateien
    • SaveLoad.rar

      (10,37 kB, 473 mal heruntergeladen, zuletzt: )

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

  • Benutzer online 1

    1 Besucher

  • Tags