Jump to content
Unity Insider Forum

Daten speichern - Henne Ei Problem


KaBau
 Share

Recommended Posts

Ja, es gibt zum Thema Daten speichern und auslesen viele Themen hier im Forum und viele Tutorials. Ich habe aber folgendes Verständnisproblem, zu dem ich nichts gefunden habe:

Damit Daten beim Spielstart gelesen werden können, müßen diese vorhanden sein. Beim allerersten Spieldstart habe ich noch keine Daten erstellt und gespeichert, somit können keine geladen werden. Muss ich also nur für das erste Starten ein Script erstellen, welches die Basisdaten erstellt? Wenn ja, wie kann ich dieses im Rahmen der Programmierung flexibel gestalten (ich weiß jetzt noch nicht, was ich alles gespeichert haben möchte)?

Nur zur Information: ich wollte mit dem Asset "Save Game Free" für freigeschaltete Level, erspielte Ausstattung etc. arbeiten. Einfache Daten wie z.B. die Lautstärke mit den PlayerPrefs.

Link to comment
Share on other sites

Moin!

Naja, in irgendeinem Zustand muss dein Spiel sein. Aber dieser Zustand muss nicht auf die Festplatte geschrieben werden. Wenn wir ein supereinfaches Beispiel nehmen...

Es gibt 10 Level. Schafft man eines, wird das darauf folgende freigeschaltet. Ein einzelner int-Wert speichert, das wievielte Level freigeschaltet ist. Wenn dein Spiel das erste mal startet, dann gibt es kein Savegame, aber es ist trotzdem klar, dass nur das erste Level freigeschaltet ist. Du musst jetzt also nicht ein Savegame mit einer 1 anlegen - das kann das Spiel auch einfach so wissen. Du könntest da ein if-Statement mit HasKey machen, aber die Get...-Methoden von PlayerPrefs haben auch direkt einen zweiten Parameter für den Standardwert, wenn keiner geladen werden kann, siehe z.B. hier.

var unlockedLevel = PlayerPrefs.GetInt("unlocked level", 1);

Save Game Free könnte etwas ähnliches haben. Ansonsten kannst du wie gesagt immer dieses Pattern hier nutzen:

if (savegameExists)
{
  gameState = LoadFromSavegame();
}
else
{
  gameState = GenerateDefaultGameState()
}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...