Menu
CoddyTech

商店与库存

本课属于 Coddy Unity 学习旅程的“打造真正的游戏”单元。第 57 课,共 60 课。

每个关卡之间,英雄都会去商店逛逛。货架上有三件商品:头盔、靴子和披风,每件商品都对应一个显示价格的按钮。英雄暂时买不起商品时,可以点击“工作”按钮赚取金币。英雄购买的商品会加入底部列出的物品栏。剩余的金币和已拥有的商品会保留到下次启动游戏时。

编写两个脚本:挂在 Shop 对象上的 Shop,以及挂在每件商品按钮上的 ShopItem。

challenge icon

挑战

困难

编写 Shop 和 ShopItem,并使用 PlayerPrefs 保存。

  1. Shop:使用 Coins 保存金币(新玩家:startCoins),并显示为 Coins: 100;点击“工作”会增加 pay。
  2. ShopItem:当 Owned_Helmet 的值为 1 时,表示已拥有;标签显示为 Helmet: 40 或 Helmet: owned;未拥有且买得起时可以点击,点击后即可购买。
  3. 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 在线编辑器