Instanzen aus der Datei laden

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

  • Instanzen aus der Datei laden

    Dieses kleine Skript speichert die x- und y- Koordinaten sowie einen dritten Wert von allen Instanzen (eines bestimmten Typs) oder erstellt Instanzen "aus der Datei". Leider kommen bei mir falsche Koordinaten beim Erstellen zustande. Sieht jemad den Fehler? Ich nicht:

    GML-Quellcode

    1. // Datei schreiben
    2. num = instance_number(part_parent)
    3. fl = file_bin_open ("pb_level.bin",1)
    4. file_bin_write_byte (fl, num)
    5. for (i=0;i<num;i+=1)
    6. {
    7. bum = instance_find (part_parent,i)
    8. file_bin_write_byte (fl,round(bum.x))
    9. file_bin_write_byte (fl,round(bum.y))
    10. file_bin_write_byte (fl,bum.index )
    11. }
    12. file_bin_close (fl)
    13. // Datei lesen
    14. fl = file_bin_open ("pb_level.bin",0)
    15. num = file_bin_read_byte (fl)
    16. for (i=0;i<num;i+=1)
    17. {
    18. bum = instance_create (0,0,part_parent)
    19. bum.x = file_bin_read_byte (fl)
    20. bum.y = file_bin_read_byte (fl)
    21. bum.index = file_bin_read_byte (fl)
    22. }
    23. file_bin_close (fl)
    Alles anzeigen


    Naja, wenn ich file_bin durch file_text ersetze und byte durch real gehts jedenfalls

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Melancor ()

  • einfach 2 Bytes nehmen

    Bisher hatte ich das Problem gelöst, indem ich nur noch file_text genommen habe

    Jetzt wo ich wieder einmal Zahlenreihen in Dateien ablegen will, werde ich es anders machen.
    Anstatt alles in Strings umzuwandeln, werde ich wieder file_bin verwenden. Es geht etwas schneller ohne String-Funktion. Außerdem ist es bescheuert, Zahlen als Strings abzuspeichern.
    Ich habe ja mittlerweile gelernt, wie ich einfach eine Zahl auf 2 Bytes aufteilen kann:

    GML-Quellcode

    1. byte0 = Zahl mod 256
    2. byte1 = Zahl div 256

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Melancor ()

  • Benutzer online 1

    1 Besucher