unity3d制作背包系统(0)–整体结构
序言
在这篇文章写下的时候,距离我开始设计这个背包系统的时间已经过去将近一年了。这个背包系统是属于我的一个正在开发的小游戏的,之所以当时没有写下这篇文章而是现在来完成的原因,一是当时我并没有很积极写博客记录的意愿,二是临近毕业找工作,一些博客可以作为具有开发经验的证明。
现在看起来这个系统还是有些多余和缺漏的地方,这一方面是项目初期的个人想法太多变,走了一些弯路,另一方面一年来个人开发经验也逐渐增多,旧设计自然看不顺眼。
废话不多说,开始正文。
背包系统对多数游戏的重要性不言而喻,在最开始设计背包系统的时候我也查过大佬的实现方案,奈何当时太过年轻,看不懂大佬的思路,只能自己慢慢摸索着做了一个。
效果图
下面先上效果图
右边部分相当于《我的世界》的创造模式物品栏,只是背包系统的一个延伸,在这里不需要过多关心,只用看左边背包部分。
总的来说,UI上的基本功能就是
当鼠标空时:左击格子拿取全部,右击拿取一半
当鼠标有物品时:
左击空的格子将鼠标的物品放入格子,右击空格子则将鼠标上的物品放一个到格子中;
左击有物品的格子互换格子内容和鼠标内容,右击有物品的格子与左击相同。
跟《我的世界》背包的UI逻辑很像。
0.背包系统的整体架构
结合我自己的开发过程和观摩了一些别人的博客,我认为背包系统分为四个部分:定义物品,物品存储,UI显示,数据读取。
提示:以下是伪代码
其中定义物品是指定义物品的数据形式,像这样
public class itemunit
{
public int id=0;//物品ID
public int num=0;//个数
public string name="item"; //物品的真实名称
//可以自行添加更多数据
}
</