unity开发背包系统

这几天学习了背包系统 在这里和大家分享一下
我这里使用了之前做的超级玛丽来实现的 因为我懒得再做一个可以移动等触发碰撞的项目了
然后素材都是在网上下载的几个装备图片

1.准备工作

首先我们用UGUI创建出装备面板
我们用Gird Layout Group组件 肯恩给大家之前也了解过这个组件
在这里插入图片描述
我们可以理解为是专门用来排版的组件
在挂载这个组件的父物体下的所有子物体 每当创建或者实例化出来都会根据我们设置的大小和距离来自动排版

然后就实现一下我们按下一个键可以打开和关闭背包面板


    public bool isEquip = false;//装备面板
    public GameObject EquipPanel;
	private void Update()
	{
   
   
 		if (isEquip)
        {
   
   
            EquipPanel.SetActive(true);
        }
         else
        {
   
   
            EquipPanel.SetActive(false );
        }
         if(Input.GetKeyDown(KeyCode.P))
        {
   
   
            isEquip = !isEquip;
        }
}      

然后在unity中给EquipPanel赋值即可
这样 在game模式下按下p即可开启 再次按下即可关闭
我这里用的是取反 isEquip = !isEquip; 当然也可以使用累加点击次数 来用奇偶来判断
这样我们的准备工作就结束了 下面开始我们的数据存储

2.数据存储

我们可能知道每个脚本在每次游戏开始的时候 都会初始化
当然我们想在每次打开游戏之后 上次打的背包都清空了 那样真的太惨了
所以我们不能简单的继承MonoBehaviour类了 要使用ScriptableObject类来实现

首先我们写创建装备的代码 其中所有参数我都注释了

[CreateAssetMenu(fileName = "New Item", menuName = "Bag/New Item")]
public class Item : ScriptableObject
{
   
   
    public string itemName;//装备名称
    public Sprite itemSprite;//装备标志
      public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值