object daten in externe datei speichern

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

  • object daten in externe datei speichern

    Hallo,
    ich versuche gerade bei meinen Projekt das ich daten von Objecten "x,y,usw" in einer Datei speichern kann.
    Es ist so das ich Symbole auf den Bildschirm habe. Diese sind Instancen von sagen wir einfach object_symbol.
    Jetzt will ich das für ein späteres aufrufen in einer Datei speichern.
    Also alles Instancen durchgehen und die variablen speichern.
    Jetzt weis ich nur nicht wie ich die instancen einzelnd durchgehe.
    Würde das mit einer schleife machen....aber wie spreche ich sie einzeld an?

    LG
  • Es gibt mehrere möglichkeiten wie du das umsetzen könntest.
    z.B:

    GML-Quellcode

    1. var file = file_text_open_write("./file.txt);
    2. var instanceNumber = instance_number(obj_enemy);
    3. file_text_write_real(instanceNumber);//speicher die anzahl der objekte in dem File, sodass du beim auslesen weisst wie viel Schritte die for-Schleife durchlaufen muss
    4. for(var i = 0;i<instanceNumber;i++){
    5. var enemy = instance_find(obj_enemy,i);//hole dir die Referenz auf die instanz eines enemy objektes
    6. //speicher die daten in das file
    7. file_text_write_real(file,enemy.x);
    8. file_text_write_real(file,enemy.y);
    9. file_text_write_real(file,enemy.health);
    10. }
    11. file_text_close(file);
    Alles anzeigen


    Umgekehrt kannst du die die Datei nach demselben Schema auslesen. Dabei liest du als erstes den ersten Wert raus welcher dir mitteilt wie viel objekte in dem File gespeichert sind wodurch du nun weisst, wie oft du die for-schleife beim auslesen durchlaufen musst.
    Somit kannst du dann sowas machen:

    GML-Quellcode

    1. var anzahlEnemys = file_text_read_real(file);
    2. for(var i = 0;i<anzahlEnemys;i++){
    3. var enemy = instance_create(0,0,obj_enemy);
    4. enemy.x = file_text_read_real(file);
    5. //usw...
    6. }

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