一开始做背包系统的时候我是不知道MVC的,胡做一通,使用暴力实现后老板才教我原来背包系统用MVC框架实现才是正确的。
MVC简单来说就是Model View Controller。Model顾名思义,而View脚本则是把需要展现的Model展现到背包系统中,而Controller脚本,我则是用来实现道具的拖拽功能,道具使用,数量的增减。
背包系统中的拖拽功能实现我就不再多说了,前面有篇文章介绍到,这里的背包系统和拖拽方法 按道理上 是使用于任何类型的游戏。
然后还有个快捷栏,快捷栏的原理和背包系统差不多,只是在拖拽的时候,你要改下一判定能否落下,把快捷栏当成背包的格子,问题不大。
然后在这里我先谈一下整个制作的思路。
首先制作一个背包的Panel,里面和上篇制作商店界面时提到的一样,在背包Panel里放一个scrollview,里面初始化一堆格子。然后把数量大于0的道具按他的下标出现在对应的格子里,就是把该道具设置为某个格子的子物体。因为UGUI的特性,道具会遮盖住格子的效果。然后所有道具我是通过resources。load后instantiate在一个物体(我是GameManager的空物体)下。当他的数量大于0,他就会变成某个格子的子物体,自然就会出现在UI中啦。
这些道具是可以点击使用的: