unity3D -Spielstatus Speichern: Binaryformatter, PlayerPrefs und JSON -Vergleich
Bei der Entwicklung von Spielen in der Einheit ist es wichtig, den Fortschritt des Spiels zu retten. Es ist wichtig, eine effiziente und zuverlässige Spieldatenspeichermethode zu finden. BinaryFormatter, PlayerPrefs und JSON werden häufig verwendet.
Anfangs wurde Binaryformatter häufig in der Datenserialisierung verwendet, hatte jedoch einige potenzielle Probleme. In einigen Geräten kann es auf Probleme stoßen, insbesondere beim Aktualisieren oder Ändern von Klassen. Die Nichtverkäuflichkeit zwischen den alten Einstellungen und der aktualisierten Klasse kann zu Datenverlust führen. Darüber hinaus muss auf iOS die Verwendung von Binaryformatter die Umgebungsvariable "mono_reflection_serializer" auf "Ja" festlegen.
PlayerPrefs ist eine andere Wahl, wird jedoch hauptsächlich zum Speichern von Daten wie hohen Punktzahlen oder Spieleinstellungen verwendet. Die begrenzte Funktion und sein Binärformat machen es für komplexe oder empfindliche Daten weniger geeignet.
JSON: Flexible und Cross -Plattform -Lösung
JSON (JavaScript -Objekt) war die erste Wahl, die den Status des Spiels bewahrte. Es handelt sich um ein Format auf Text, das es einfach zu lesen macht und mit Plattformen kompatibel ist. JSON kann komplexe Datenstrukturen, Objekte und Arrays auf strukturierte und tragbare Weise darstellen.
in Byte -Array konvertiert
Obwohl JSON ein String -Format benötigt, erfordert Ihr Spiel Byte -Array. Verwenden Sie aus diesem Grund einfach coding.ascii.getBytes (), um die JSON -Zeichenfolge in Byte -Array umzuwandeln. Sie können dann Datei.WriteAllBytes und Datei.readallBytes verwenden, um das Byte -Array zu speichern und zu laden.
Die Daten werden verwendet, um die Daten zu speichern
Um die Verwendung zu erleichtern, können Sie generische Kategorien wie DataSaver verwenden. Es bietet eine Methode zum Speichern und Laden und kann jede Art von Objekt betreiben.Schlussfolgerung
Bei der Einsparung der Spieldaten in Einheit aufgrund der Flexibilität, Zuverlässigkeit und Kreuzungskompatibilität von JSON ist es besser als die Binärformatoren und wird zu einer empfohlenen Methode. Durch die Umwandlung der JSON -Zeichenfolge in Byte -Array können Sie Ihre spezifischen Anforderungen erfüllen und gleichzeitig den Vorteil von JSON beibehalten. Die Verwendung generischer Datensparenklassen kann den Prozess weiter vereinfachen.
Das obige ist der detaillierte Inhalt vonWelche Unity3D Game State Saving -Methode ist am besten: Binaryformatter, PlayerPrefs oder JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!