Menu
CoddyTech

Laden und Inventar

Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 54 von 56.

Zwischen den Levels besucht der Held einen Laden. Drei Gegenstände warten im Regal: ein Helm, Stiefel und ein Umhang. Jeder Gegenstand befindet sich auf einer Schaltfläche, auf der sein Preis angezeigt wird, und eine Arbeits-Schaltfläche bringt Münzen ein für die Gegenstände, die sich der Held noch nicht leisten kann. Was der Held kauft, kommt ins Inventar, das unten aufgeführt ist, und die übrigen Münzen sowie die bereits gekauften Gegenstände sind auch beim nächsten Spielstart noch vorhanden.

Schreibe zwei Skripte: Shop für das Shop-Objekt und ShopItem für die Schaltfläche jedes Gegenstands.

challenge icon

Aufgabe

Schwer

Der Inspector weist Shop startCoins (100), pay (25), coinsText, inventoryText, workButton und items zu: die drei ShopItems in der Reihenfolge im Regal. Er weist jedem ShopItem den Wert für itemName und price (Helmet 40, Boots 60, Cape 120), label (den Text auf seiner Schaltfläche) und shop zu.

  • Die Münzen werden unter dem Schlüssel Coins gespeichert; ein Spieler, für den nichts gespeichert ist, beginnt mit startCoins. coinsText zeigt sie als Coins: 100 an.
  • Jeder Klick auf Work bringt pay Münzen ein.
  • Ein Gegenstand gehört dem Spieler, wenn der Schlüssel Owned_ zusammen mit seinem Namen (Owned_Helmet) den Wert 1 enthält. Sein Etikett zeigt Helmet: 40, solange er zum Verkauf steht, und Helmet: owned, sobald er dem Spieler gehört.
  • Die Schaltfläche eines Gegenstands kann nur angeklickt werden, wenn der Gegenstand dem Spieler noch nicht gehört und der Spieler mindestens so viele Münzen wie dessen Preis hat. Ein Klick darauf kauft den Gegenstand: Der Preis wird von den Münzen abgezogen und der Gegenstand gehört dem Spieler.
  • inventoryText listet die Gegenstände, die dem Spieler gehören, in der Reihenfolge im Regal auf, etwa als Inventory: Helmet, Cape, oder zeigt Inventory: empty an.
  • Jede Änderung wird sofort gespeichert, und jeder Text sowie jede Schaltfläche zeigt den neuen Zustand an.

Drücke Play, shoppe und arbeite, drücke Stop und erneut Play, dann Check.

Probier es selbst

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class Shop : MonoBehaviour
{
    public int startCoins = 100;
    public int pay = 25;
    public TMP_Text coinsText;
    public TMP_Text inventoryText;
    public Button workButton;
    public ShopItem[] items;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Echte Spiele entwickeln