Speichern, Laden und Höchstwerte | hyperPad Documentation

Loading...

Logo

Oftmals möchten Sie ein Spiel erstellen, das sich an bestimmte Details der vorherigen Spielrunde erinnert.

Was Sie speichern möchten, hängt stark von dem Spiel oder der App ab, die Sie erstellen. Ob Sie einen Punktestand, die Position oder den gesamten Fortschritt speichern möchten, Sie müssen planen, wie und was Sie speichern möchten.

In diesem Tutorial werden wir besprechen, wie der Punktestand eines Spielers gespeichert wird und wie ein einfaches Highscore- oder "Beste vorherige" Punktesystem erstellt wird.

Für dieses Tutorial nehmen wir an, dass Sie ein einfaches Spiel erstellt haben, in dem der Spieler Münzen aufnimmt (Teil 5 der Erstellung eines Plattformspiels), und die Anzahl der Münzen auf dem Bildschirm mit einem Label angezeigt wird.

Speichern

Wenn es darum geht, etwas zu speichern, sind zwei wichtige Fragen, die Sie sich stellen sollten: Was möchten Sie speichern und wann sollten Sie speichern? In hyperPad kann das Speicherverhalten nur einen einzelnen Wert auf einmal speichern. Daher müssen Sie wirklich darüber nachdenken, was Sie speichern.

In diesem Tutorial werden wir den Punktestand (die Anzahl der gesammelten Münzen) speichern, der auf dem Bildschirm mit einem Label angezeigt wird.

Jetzt, da wir wissen, dass wir den Punktestand aus dem Label speichern, müssen wir als nächstes herausfinden, wann wir speichern.

Es gibt viele Optionen, und sie hängen von Ihrem Gameplay oder Gesamtdesign ab. Sie können es speichern, jedes Mal, wenn der Spieler die Münze aufnimmt, speichern, wenn der Spieler verliert, speichern, wenn der Spieler das Level abschließt, speichern, wenn der Spieler einen Button drückt oder was auch immer Sie für Ihre Situation für nötig halten.

Für dieses Tutorial richten wir einen Button ein, der den Punktestand speichert, wenn der Spieler den Speicherbutton drückt. Diese gleiche Verhaltenslogik kann angewendet werden, wenn Sie speichern möchten, wenn der Spieler verliert oder das Level abschließt. Sie müssen nur diese Verhaltensweisen auslösen, wenn Sie gewinnen oder verlieren.

Wählen Sie Ihr Speicherbutton-Objekt aus und öffnen Sie die Verhaltensweisen.

Fügen Sie aus der Kategorie Interaktion des Verhaltenseditors ein Verhalten "Gestoppt Berührt" hinzu.

Fügen Sie jetzt aus der Kategorie UI ein Verhalten "Label Abrufen" hinzu und verbinden Sie es mit dem Verhalten "Gestoppt Berührt" aus dem vorherigen Schritt.

Tippen Sie auf das Verhalten "Label Abrufen", um die Verhaltenseigenschaften anzuzeigen. Tippen Sie aus den Verhaltenseigenschaften auf den Bereich, der das aktuelle Objekt darstellt, und wählen Sie dann das Label in Ihrer Szene aus, das Ihren Punktestand darstellt.

Als nächstes fügen Sie aus der Kategorie Benutzerdefiniert ein Verhalten "In Datei Speichern" hinzu und verbinden Sie es mit dem "Gestoppt Berührt" Verhalten.

Wählen Sie das Verhalten "In Datei Speichern" aus, das Sie gerade hinzugefügt haben, um die Verhaltenseigenschaften anzuzeigen. Beachten Sie, dass der "Schlüsseltyp" auf "bestehend" eingestellt ist. Bestehende Schlüssel sind vordefinierte Dinge, die Sie speichern möchten.

Zuerst müssen Sie den Titel oder die Beschreibung von etwas hinzufügen, das Sie speichern möchten. Dies wird als "Schlüssel" bezeichnet. Tippen Sie auf die Schaltfläche "Schlüssel auswählen oder erstellen", um die Liste der Schlüssel zu öffnen.

Geben Sie an der obersten Stelle einen beschreibenden Titel ein, und drücken Sie dann die Schaltfläche +, um Ihren ersten Schlüssel hinzuzufügen. Da wir den Punktestand speichern möchten, geben Sie "Punktestand" als Schlüssel ein.

Als nächstes müssen Sie tatsächlich den Punktestand aus dem Label speichern. Dazu geben Sie den Wert aus der Ecke des "Label Abrufen" Verhaltens in das Eingabefeld der "In Datei Speichern" Eigenschaften ein.

Das ist es! An diesem Punkt sollte Ihr Spiel Ihren Punktestand speichern, sobald Sie den Speicherbutton drücken. Aber Sie haben tatsächlich noch nichts mit dem gespeicherten Wert gemacht. Das Nächste, was Sie tun müssen, ist, den Punktestand zu laden und ihn tatsächlich in Ihrer Szene zu verwenden.

Laden

Nachdem Ihr Punktestand gespeichert ist, müssen Sie ihn nun laden und in Ihrer Szene verwenden. Wenn es darum geht, zu laden, gibt es eine wichtige Frage, die Sie beantworten müssen: Wann möchten Sie laden?

Wie beim Speichern hängt die Antwort stark von Ihrem Projekt ab. Sie können laden, sobald Ihre Szene beginnt, wenn der Spieler einen Button drückt oder wenn ein anderes Ereignis ausgelöst wird. Es hängt wirklich davon ab, was Sie erreichen möchten.

Für dieses Tutorial werden wir laden, sobald die Szene startet und der vorherige gespeicherte Punktestand angezeigt wird.

Um zu beginnen, fügen Sie Ihrer Szene ein Label hinzu. Wir verwenden dieses Label, um Ihren gespeicherten Punktestand anzuzeigen.

Als nächstes müssen wir die eigentliche Lade-Logik hinzufügen. Für dieses Tutorial fügen wir die Logik dem Speicherbutton aus den vorherigen Schritten hinzu. Je nach Ihrem Spiel müssen Sie Ihre Logik jedoch möglicherweise an anderer Stelle unterbringen. Wählen Sie den Speicherbutton aus und öffnen Sie den Verhaltenseditor aus den Objekteigenschaften.

Fügen Sie aus der Kategorie Benutzerdefiniert das Verhalten "Aus Datei Laden" hinzu und verbinden Sie es mit nichts. Da es mit keinem anderen Verhalten verbunden ist, wird das Ladeverhalten direkt ausgeführt, wenn die Szene startet (wenn der Button in der Szene vorhanden ist). Wenn Sie laden möchten, basierend auf einem bestimmten Ereignis oder einem anderen Auslöser, würden Sie es mit anderen Verhaltensweisen verbinden.

Wählen Sie jetzt das Verhalten "Aus Datei Laden" aus, um die Verhaltenseigenschaften anzuzeigen. Stellen Sie erneut sicher, dass "Bestehend" für den Schlüsseltyp ausgewählt ist.

Tippen Sie als Nächstes auf die Schaltfläche "Schlüssel auswählen", um die Liste der gespeicherten Schlüssel zu öffnen. Wählen Sie aus der Liste den Schlüssel "Punktestand" aus, den Sie zuvor hinzugefügt haben.

Bis zu diesem Punkt haben Sie technisch den Punktestand geladen. Aber Sie machen noch nichts damit. Lassen Sie uns diesen geladenen Wert nutzen.

Fügen Sie aus der Kategorie UI ein Verhalten "Label Festlegen" hinzu und verbinden Sie es mit dem Ladeverhalten, das Sie zuvor hinzugefügt haben.

Wählen Sie als Nächstes das Verhalten "Label Festlegen" aus, um seine Eigenschaften anzuzeigen, und denken Sie daran, das neue Label auszuwählen, das Sie gerade hinzugefügt haben und das den geladenen Punktestand darstellt. Nachdem Sie das richtige Label ausgewählt haben, ziehen Sie den Ausgabewert aus der Ecke des "Aus Datei Laden" Verhaltens in das Eingabefeld des Verhaltens "Label Festlegen".

Das ist alles, was Sie tun müssen! Ihr Fortschritt wird gespeichert und beim nächsten Spielen in ein Label geladen.

Highscore

Eine Sache, die Sie möglicherweise bemerkt haben, ist, dass Ihr Punktestand jedes Mal gespeichert wird, wenn Sie auf den Button drücken, und Ihren vorherigen Punktestand überschreibt. Manchmal ist das in Ordnung, aber normalerweise möchten Sie nur speichern, wenn der Spieler einen Punktestand erreicht, der größer ist als der vorherige.

Um dieses "Highscore"-System zu implementieren, müssen wir nur unsere Speicherlogik leicht modifizieren.

Beginnen Sie, indem Sie zu dem Ort zurückkehren, an dem die Speicherverhalten platziert sind (den Speicherbutton).

Zuerst müssen Sie das Verhalten "In Datei Speichern" von Ihrem Verhalten "Gestoppt Berührt" trennen. Tippen Sie auf die Linie, die die beiden Verhaltensweisen verbindet, um sie zu trennen.

Fügen Sie nun aus der Kategorie Logik ein "WENN" Verhalten hinzu. Das WENN-Verhalten wird überprüfen, wann eine bestimmte Bedingung erfüllt ist, bevor es ausgeführt wird. In diesem Fall möchten wir nur speichern, WENN der Punktestand größer ist als der vorherige (geladen) Punktestand.

Verbinden Sie das WENN-Verhalten mit dem "Gestoppt Berührt" Verhalten.

Tippen Sie nun auf das WENN-Verhalten, um die Verhaltenseigenschaften zu öffnen und die Bedingung festzulegen.

Ziehen Sie den Ausgabewert aus "Label Abrufen" in das erste Eingabefeld des WENN-Verhaltens.

Ziehen Sie dann den Ausgabewert aus dem Verhalten "Aus Datei Laden" in das zweite Eingabefeld des WENN-Verhaltens.

Jetzt müssen Sie die Bedingung ändern. Tippen Sie auf die Schaltfläche "Ist Gleich", und wählen Sie die Option Größer als oder Gleich zu () aus.

Verbinden Sie schließlich Ihr altes Speicherverhalten mit dem WENN. Nun wird Ihr WENN-Verhalten nur das verbundene Speichern ausführen, WENN der Wert aus dem Label größer oder gleich dem geladenen Wert ist.

Das ist alles, was Sie tun müssen. Sie sollten jetzt ein funktionierendes Speicher- und Ladesystem haben, das den Punktestand des Spielers nur speichert, wenn er seinen vorherigen Versuch übertrifft.

Sonstiges Speichern

Dieses Tutorial hat das Speichern eines Punktestands behandelt. Aber manchmal möchten Sie auch andere Dinge speichern, wie die Position eines Spielers oder das aktuelle Level usw.

Die Konzepte, die Sie in diesem Tutorial gelernt haben, gelten weiterhin. Sie müssen nur ändern, wann Sie speichern und was Sie speichern.

Betrachten Sie das Speichern der Position des Spielers. Die Position eines Objekts wird in 2 Zahlen angegeben. Die X- und Y-Position. Dazu würden Sie einfach 2 Speicherverhalten verwenden. Eines zum Speichern der X-Position und das andere zum Speichern der Y-Position. Wenn es ums Laden geht, würden Sie dann 2 Ladeverhalten verwenden. Anstatt ein Label festzulegen, würden Sie einfach das Spielerobjekt an die geladenen X- und Y-Positionen bewegen.

Indem Sie einen Plan erstellen, was Sie speichern möchten und wann Sie speichern müssen, können Sie ein System erstellen, das für fast jede Situation funktioniert.