Unity 2D Endless Runner High Score System?
Moin! Ich habe mit einem Tutorial in Unity mittlerweile ein Score System für meinen 2D Endless Runner programmiert. Jedoch wird mein High Score nie abgespeichert! Kann mir jemand helfen?
Was meinst du mit "abgespeichert"?
Ich möchte den Highscore Speichern damit er nachdem man Stirpt nicht wieder zurückgesetzt wird! :)
Also möchtest du einen Score in einer Textdatei speichern und laden? Das macht dein Code ja nicht.
ja! :)
3 Antworten
Moin,
für die Simpelkeit reicht folgendes:
File.WriteAllText("Pfad", "Score");
File.ReadAllText("Pfad");
Wenn es komplexer wird, kannst du sowas machen:
Main.cs
XmlSerializer xmlSaver = new XmlSerializer(typeof(Settings));
TextWriter writer = new StreamWriter(sAppData + @"\Settings.cfg");
//Ordner abfragen
m_Settings.NoReminder = false;
m_Settings.GamePath = "";
m_Settings.NoReminderVersion = "";
xmlSaver.Serialize(writer, m_Settings);
writer.Close();
Settings.cs
[XmlRoot(ElementName = "Settings")]
public class Settings
{
[XmlElement(ElementName = "GamePath")]
public string GamePath { get; set; }
[XmlElement(ElementName = "NoReminder")]
public bool NoReminder { get; set; }
[XmlElement(ElementName = "NoReminderVersion")]
public string NoReminderVersion { get; set; }
}
Das wäre das Abspeichern und Lesen über XML - mit JSON geht es auch, aber C# kommt mit XML besser aus, bzw. ist darauf ausgelegt.
LG
Ein Highscore System:
public int Hightscore;
public int Score;
Score = 5;
if(Score > Hightscore){
Hightscore = Score;
}
(Habe ich gerade irgendwie ohne Ausprobieren zusammen gefummelt 😉. Nicht wundern, wenn ein Error kommt)
Schau dir mal ein YouTube tutorial zu JSON mit C#an, mit JSON kannst zu zahlen, Texte, etc... einfach abspeichern. Besser als in einer Textdatei.