ショップとインベントリ
CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 57/60。
レベルの合間に、ヒーローはショップを訪れます。棚にはヘルメット、ブーツ、マントの3つのアイテムが並び、それぞれ価格を表示したボタンが付いています。また、ヒーローがまだ買えないアイテムを買えるように、作業ボタンでコインを獲得できます。ヒーローが購入したものは下部に表示される所持品リストに入り、残ったコインと所持アイテムは、次にゲームを開始したときにもそのまま残っています。
2つのスクリプトを書きましょう。ShopオブジェクトにはShopを、各アイテムのボタンにはShopItemを設定します。
チャレンジ
難しいShopとShopItemを作成し、PlayerPrefsで保存します。
Shop:コインはCoinsに保存します(新規プレイヤーの場合:startCoins)。Coins: 100と表示し、「Work」を押すとpayが加算されます。ShopItem:Owned_Helmetが1の場合、所有済みです。ラベルはHelmet: 40またはHelmet: ownedと表示します。未所有で、購入できる場合にクリック可能にし、クリックすると購入します。inventoryText:Inventory: Helmet, CapeまたはInventory: emptyと表示します。変更のたびに保存して再描画します。
「プレイ」を押して買い物をし、「停止」を押してからもう一度プレイします。その後、「確認」を押します。
自分で試してみよう
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;
}
本格的なゲームを作るのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド