业务需求
完成一个背包系统,物品包含,药水和装备.在背包中单击药水来使用,在背包中单击装备来装备上它,当鼠标悬停在背包物品中时,会显示物品的基本信息.玩家可以通过触碰地面上的战利品来为背包添加新的东西.
游戏场景的搭建
素材来自unity商店的免费素材
首先是游戏场景的搭建:其中有一个玩家可以控制移动以及攻击的角色,一个敌人,受击后会掉落战利品.
其次是ui场景的搭建
第一部分是装备界面,显示了玩家当前装备的武器,防具等信息
第二部分是背包界面,显示了玩家背包信息,(背包格子的显示是根据背包物品的数量来显示的,例如:没有物品或物品不足一行,则只显示一行,若有两行则显示两行)
数据的准备
在excel表中建立数据
背包物品信息的准备
装备信息的准备
通过在线工具将excel表中的数据转换为json
编写代码读取json文件
编写实体类(存储单个信息)
编写包装类(方便用unity自带的库类完成信息的读取)
例如:
将文件中的数据转换为游戏中的数据
背包物品的存储与使用
创建实体类
类上
编写加载,保存实体类
编写一系列逻辑层CUDR的代码
装备的存储与使用
与上类似
鼠标悬停,以及点击的实现
实现接口IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler
编写代码实现悬停显示当前单元格物品信息
点击按照物品类别实现使用药水以及装备道具