Einen virtuellen Shop zu Ihrem Spiel hinzufügen Teil 1
Wenn die Spieler Ihres Spiels gewonnen haben oder anfangen, sich zu langweilen, ist der Aufbau eines Geschäfts für freischaltbare Gegenstände oder Charaktere eine großartige Möglichkeit, den Wiederspielwert und die Bindung zu erhöhen.
In diesem Tutorial werden wir behandeln, wie man einen In-App-Shop erstellt, in dem Ihre Benutzer Gegenstände mit den Punkten „kaufen“, die sie in Ihrem Spiel generiert haben!
In diesem Beispiel wird unser Spiel sehr einfach sein… Klicken Sie einfach auf den Spieler, um mehr Punkte zu erhalten! Wenn Sie pro Klick mehr Punkte erhalten möchten, verbessern Sie Ihren „Spieler“.
Um zu beginnen, werden wir unser Geld einrichten, das über alle Szenen hinweg geteilt wird.
Geld hinzufügen
Das erste, was wir tun werden, ist, auf die Globale UI zu gehen und ein Label hinzuzufügen, das unser Geld repräsentiert, und den Text auf 0 zu setzen. Fügen Sie auch ein weiteres Label hinzu, um uns mitzuteilen, was dieses Label ist.
Bewegen Sie auch das Geldlabel etwas außer Sichtweite, damit es beim Spielen Ihres Spiels nie angezeigt wird.
Jetzt werden wir behandeln, wie man das Geld speichert und lädt, damit jedes Mal, wenn der Spieler Ihr Spiel verlässt, das Geld, das er verdient hat, immer noch vorhanden ist!
Geld speichern
Gehen Sie in die Verhaltensweisen des Geldlabels.
Wir werden zuerst unser Geld aktualisieren.
Wir benötigen ein Behavior Bundle, ein Get Label, ein Save Value und ein Broadcast Message-Verhalten.
Ordnen Sie die Verhaltensweisen wie im obigen Bild an und setzen Sie das Behavior Bundle auf AUS.
Viel ist dort passiert. Lassen Sie uns durchgehen, was das alles bedeutet.
Wenn etwas das Behavior Bundle ausführt, möchten wir Get Label verwenden, um den aktuellen Geldwert zu erfassen. Wenn Sie sich fragen, warum wir dafür keinen Box Container verwendet haben, liegt es daran, dass es derzeit keine Möglichkeit gibt, den Wert eines Box Containers in einem anderen Objekt zu erhalten… NOCH.
Als Nächstes wollen wir diesen Wert von Get Label in einer Datei speichern. Dazu ziehen Sie einfach die Ausgabe von Get Label und lassen ihn in das Eingabefeld "Wert zum Speichern" für Save Value fallen.
Das Broadcast Message-Verhalten erlaubt anderen Objekten zu wissen, dass das Geld gerade aktualisiert wurde. Sie können dies verwenden, um Labels in Ihrer Szene mit dem neuen Geldwert zu aktualisieren.
Geld laden
Jetzt, da wir das Speichern hinter uns haben, lassen Sie uns dafür sorgen, dass das Geld geladen wird, das der Spieler verdient hat, wenn er Ihre App öffnet!
Innerhalb des Geldlabels müssen wir ein Behavior Bundle, Load Value, ein weiteres Behavior Bundle und ein Behavior On hinzufügen. Ordnen Sie diese wie im Bild unten an.
Fügen Sie jetzt ein If-Verhalten hinzu, ein weiteres If und ziehen Sie es auf die Seite des ersten If, um ein Else If zu erstellen, ein Change Label und ein Behavior On. Lassen Sie das Behavior On die vorherige Broadcast-Nachricht einschalten.
Ordnen Sie diese Verhaltensweisen wie im Bild unten an:

Okay… Es passiert eine Menge, also lassen Sie uns einen Blick darauf werfen, was wir gerade gebaut haben!
Sie fragen sich wahrscheinlich, was der Zweck der Behavior Bundles ist. Behavior Bundles dienen zwei Zwecken… Erstens organisieren sie Ihre Verhaltensweisen und zweitens zwingen sie die Reihenfolge der Verhaltensweisen, sodass sie von links nach rechts wie ein Ereignis ausgeführt werden.
Also verbinden wir unser Load Value-Verhalten mit dem Behavior Bundle, damit es, wenn die Szene startet, den gespeicherten Wert aus der Datei lädt. Stellen Sie in den Eigenschaften von Load Value sicher, dass Sie das vorher erstellte Save Value-Verhalten auswählen.
Das nächste Behavior Bundle überprüft, ob ein Wert geladen wurde oder nicht. Das If-Verhalten ändert das Label, wenn der Wert nicht leer ist. Dazu setzen Sie das erste Eingabefeld auf die Ausgabe des Load Value-Verhaltens und das zweite Eingabefeld auf leer.
Das If-Verhalten verbindet sich dann mit dem Change Label und wird nur ausgeführt, wenn Load Value tatsächlich einen Wert geladen hat.
Das Else-Verhalten muss nichts überprüfen. Es wird immer einfach wahr sein und sein untergeordnetes Behavior On ausführen. Das Behavior On wird einfach das dafür erstellte Save Behavior Bundle ausführen, damit wir einen Standardbetrag an Geld speichern können, den der Spieler hat.
Geld ausgeben!
Jetzt, da wir das Laden und Speichern unseres Geldes hinter uns haben, lassen Sie uns eine Möglichkeit schaffen, es auszugeben! Dazu werden wir ein konsolidiertes Transaktionssystem mit Labels erstellen.
Um zu beginnen, ziehen Sie auf dem Haupt-Canvas drei Labels. Das erste wird den aktuellen Transaktionsbetrag darstellen, das zweite den Status und das dritte die Nachricht wie „Nicht genug Geld!“ oder „Gekauft!“. Lassen Sie uns auch unsere Darstellungen kennzeichnen, damit wir wissen, was sie sind. Lassen Sie uns auch alles ein wenig außerhalb des Bildschirms bewegen, damit sie beim Spielen nicht sichtbar sind.
Lassen Sie uns auch ein weiteres Objekt auf unser Canvas ziehen, um die Transaktionslogik zu behandeln. In diesem Beispiel verwenden wir einfach ein Label, das „Transaktionslogik“ sagt.
Gehen Sie in die Verhaltensweisen für das Transaktionslogik-Label, damit wir die Logik zum Abwickeln eines Kaufs erstellen können.
Was wir tun müssen, ist zu überprüfen, ob der Spieler genug Geld hat, um die Transaktion abzuschließen. Ziehen Sie dazu ein Behavior Bundle und zwei Get Label-Verhaltensweisen hinein und verbinden Sie sie wie im Bild unten. Stellen Sie sicher, dass Sie das Behavior Bundle auf aus setzen, damit wir nicht vorzeitig eine Transaktion auslösen, wenn die Szene geladen wird.
Das erste Get Label erhält das Geldlabel, und das zweite erhält den Transaktionsbetrag. Wir möchten überprüfen, ob das Geld weniger als der Transaktionsbetrag ist. Wenn das der Fall ist, möchten wir den Transaktionsstatus auf „Fehlgeschlagen“ und die Nachricht auf „Nicht genug Geld!“ ändern.
Um das zu tun, fügen Sie ein If-Verhalten und zwei Change Label-Verhaltensweisen hinzu. Ordnen Sie die Verhaltensweisen wie im Bild unten an.
Das If-Verhalten überprüft einfach, ob das Geldlabel weniger als der Transaktionsbetrag ist.
Jetzt überprüfen wir das Gegenteil. Wenn der Benutzer genug Geld hat, möchten wir den Transaktionsbetrag vom Geld abziehen und das Geld speichern. Fügen Sie dazu ein Else If-Verhalten wie zuvor hinzu, verbinden Sie ein Behavior Bundle, um den Rest unserer Logik zu organisieren, ein Subtract Values-Verhalten, ein Change Label-Verhalten und ein Behavior On.
Das Subtract Values-Verhalten wird den Transaktionsbetrag vom Geld abziehen.
Dann verwenden wir das Change Label, um das Geldlabel auf die Ausgabe des Subtract Values-Verhaltens zu ändern.
Das Behavior On-Verhalten wird dann das Save-Verhalten ausführen, das wir im Abschnitt Geld speichern erstellt haben.
Nun lassen Sie uns einen Erfolgsstatus erstellen, damit die Aktion, die die Transaktion ausführt, weiß, ob die Transaktion erfolgreich war oder nicht!
Dazu ziehen Sie einfach zwei Change Label-Verhaltensweisen hinein.
Setzen Sie das Statuslabel auf „Erfolg“ und die Transaktionsnachricht auf „Gekauft!“
Nun haben wir einen Weg, Geld auszugeben. Indem wir den Transaktionsbetrag mit einem Change Label-Verhalten einstellen, müssen wir nur ein Behavior On im Behavior Bundle verwenden, das unsere Transaktionslogik auslöst. Um zu überprüfen, ob es erfolgreich war oder nicht, müssen Sie nur das Statuslabel überprüfen, um zu sehen, ob es „Fehlgeschlagen“ oder „Erfolg“ anzeigt.
Geld verdienen!
Wir haben unsere Spieler, die Geld ausgeben… aber wie können sie das ausgeben, was sie nicht haben? Wir müssen unseren Spielern eine Methode bieten, um etwas Geld zu verdienen, um auszugeben. Fügen Sie immer noch in unsere Kauf-Logik ein weiteres Behavior Bundle hinzu, um unsere Kauf-Logik zu behandeln, und stellen Sie sicher, dass es auf aus gesetzt ist. Wir möchten nicht vorzeitig etwas kaufen, wenn die Szene startet.
Das erste, was wir tun werden, ist, das Geld und den Transaktionsbetrag zu erhalten. Fügen Sie also zwei Get Label-Verhaltensweisen wie unten hinzu.
Dann möchten wir das Geld zum Transaktionsbetrag hinzufügen. Fügen Sie ein Add Value-Verhalten, ein Change Label-Verhalten und ein Behavior On hinzu.
Das Change Label-Verhalten wird die Ausgabe des Add Value-Verhaltens sein und den Geldwert ändern. Das Behavior On speichert unseren neuen Geldwert, wie wir es im letzten Abschnitt getan haben.
Schließlich möchten wir einen Transaktionsstatus und eine Nachricht erstellen. Fügen Sie zwei Change Label-Verhaltensweisen hinzu, um den Status auf „Erfolg“ zu setzen und die Nachricht auf etwas wie „Verkauft!“ zu ändern.
Und jetzt haben wir die Fähigkeit für unsere Spieler, Geld zu verdienen. Ändern Sie einfach den Transaktionsbetrag und verwenden Sie Behavior On, um unser Verhaltensbundle für das Verdienen auszuführen, damit es das Geld des Benutzers hinzufügt.
Was kommt als Nächstes
Bisher haben wir ein Transaktionssystem erstellt, bei dem unsere Spieler Geld haben und dieses Geld verwenden können, um Käufe zu tätigen. Unser Transaktionssystem bietet auch die Möglichkeit, dass unser Spieler Geld verdienen kann. Das Transaktionssystem bewahrt auch das Geld, damit der Spieler die App verlassen und zurückkehren kann und immer noch denselben Geldbetrag hat.
Im nächsten Tutorial werden wir behandeln, wie man Gegenstände für unsere Spieler kauft und sicherstellt, dass ihre Gegenstände ebenfalls gespeichert werden.

