Menu
CoddyTech

Boutique et inventaire

Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 54 sur 56.

Entre les niveaux, le héros se rend dans une boutique. Trois objets attendent sur l’étagère : un casque, des bottes et une cape, chacun sur un bouton affichant son prix. Un bouton « Travailler » permet de gagner des pièces pour acheter ceux que le héros ne peut pas encore s’offrir. Les achats du héros sont ajoutés à l’inventaire indiqué en bas, et les pièces restantes ainsi que les objets possédés sont toujours là au prochain lancement du jeu.

Écris deux scripts : Shop sur l’objet Shop, et ShopItem sur le bouton de chaque objet.

challenge icon

Défi

Difficile

L’Inspector fournit à Shop startCoins (100), pay (25), coinsText, inventoryText, workButton et items, les trois ShopItems dans l’ordre des étagères. Il fournit à chaque ShopItem son itemName et son price (Helmet 40, Boots 60, Cape 120), son label (le texte sur son bouton) et son shop.

  • Les pièces sont enregistrées sous la clé Coins ; un joueur sans donnée enregistrée commence avec startCoins. coinsText les affiche ainsi : Coins: 100.
  • Chaque clic sur Work rapporte pay pièces.
  • Un objet est possédé lorsque la clé Owned_ suivie de son nom (Owned_Helmet) contient 1. Son libellé affiche Helmet: 40 tant qu’il est en vente et Helmet: owned une fois qu’il est possédé.
  • On ne peut cliquer sur le bouton d’un objet que si l’objet n’est pas possédé et que le joueur a au moins son prix. En cliquant dessus, on achète l’objet : son prix est déduit des pièces et l’objet est possédé.
  • inventoryText répertorie les objets possédés dans l’ordre des étagères, ainsi : Inventory: Helmet, Cape, ou affiche Inventory: empty.
  • Chaque changement est enregistré immédiatement, et chaque texte et bouton affiche le nouvel état.

Appuie sur Play, fais des achats et travaille, appuie sur Stop puis de nouveau sur Play, puis sur Check.

Essayez vous-même

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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Créer de vrais jeux