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.
Défi
DifficileL’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 avecstartCoins.coinsTextles affiche ainsi :Coins: 100. - Chaque clic sur Work rapporte
paypièces. - Un objet est possédé lorsque la clé
Owned_suivie de son nom (Owned_Helmet) contient 1. Son libellé afficheHelmet: 40tant qu’il est en vente etHelmet: ownedune 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é.
inventoryTextrépertorie les objets possédés dans l’ordre des étagères, ainsi :Inventory: Helmet, Cape, ou afficheInventory: 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;
}
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
1Texte à l’écran
Canvas et texteAfficher le scoreFormater les nombresUn compte à reboursRécapitulatif : compteur de vitesse4Scènes et niveaux
Charger une scèneRedémarrer le niveauNiveau suivantConserver entre les scènesRécapitulatif : sélection du niveau7Contrôle du temps
Mettre en pause avec timeScaleRalentiTemps non mis à l’échelleRécapitulatif : Bullet Time10Projet : jeu de plateforme en 3D
Le parcoursPlateformes mobiles2Boutons et écrans
Boutons et onClickLambdasRelier les éléments dans l’InspectorActiver et désactiver les panneauxBarres de santéRécapitulatif : boutique d’améliorations5Sauvegarder avec PlayerPrefs
Enregistrer un nombreCharger avec une valeur par défautMeilleur scoreEnregistrer les paramètresRécapitulatif : les pièces à la banque