Inventory
1.创建一个简单的背包UI
下列步骤有点拗口↓
请认真理解
-
交换父子关系是为了方便创建位置,一个对象只能加一个按钮组件
这里我们需要多个按钮(装备和移除),所以只能新建一个空的父对象去包含子对象
; -
最后InventorySlot新建为预制体
;
排列
;
; -
同样的方式新建画板,命名Titile,加上text,表示这个是背包目录标题
;
改变下UI的适配
;
; -
最后我们想让这些Slot默认为空(没有物品):
Icon↓
, -
RemoveButton↓
点击应用。
。
。
2.背包的代码
- 每次拾取东西,更新UI
canvas新增InventoryUI脚本,
初步代码↓
效果↓
拾取东西时:
,
, - 接下来是记录当前物品在背包UI上的更新
我们需要在InventorySlot上新增脚本InventorySlot
代码↓
,
点击预制体应用↓
,
, - 再接下来是实际可以使用物品,并且可以删除掉它
任务:
1.想办法遍历InventorySlot中的元素,要开变量和数组存
2.增加使用物品函数(UseItem以及virtual函数Use),删除物品功能(OnRemoveButton)
3.新增背包按钮i和b,优化鼠标点击背包时穿模点击地面导致人物移动
,
,
PlayerController代码↓
,
Item代码↓
,
InventorySlot代码↓
变量:
函数:
,
InventoryUI代码↓
变量:
函数:
,
Unity Inspector: