首先第一步导入咋们这节课所需要的素材;
演示项目下载地址:
链接: https://pan.baidu.com/s/1o7_RW_QQ1rrAbDzT69ApRw 提取码: 8s95
打开后素材就是这样,素材里的人物可以移动;
然后在素材中找到这几个图,导入场景
首先右键一个panel,然后把inventory
然后现在把背包上的横幅和use给做出来
横幅和button上添加一个text,把我们需要添加的写上去
然后把关闭按钮和一个文本框添加到背包上面。
然后在CloseBtn上添加这个
接下来把那个数据的储存写进去。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Item", menuName = "Inventory/New Item")]
public class Item : ScriptableObject
{
public string itemName;
public Sprite itemImage;
public int itemHeld;
[TextArea]
public string itemInfo;
public bool Equp;
}
这是武器的储存
右键点击Inventory和new item这样就创建出来储存武器的了
背包的储存和上面武器的方法一样
背包的代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Item", menuName = "Inventory/New Inventory")]
public class Inventory : ScriptableObject {
public List<Item> itemList = new List<Item>();
}
创建ItemOnworld脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ItemOnworld : MonoBehaviour {
public Item thisItem;
public Inventory playerInventory;
private void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag("Player"))
{
AddNewItem();
Destroy(gameObject);
}
}
public void AddNewItem()
{
if (!playerInventory.itemList.Contains(thisItem))
{
//playerInventory.itemList.Add(thisItem);