unity3D之角色背包的设计

来源:互联网 发布:cms系统淘宝客 编辑:程序博客网 时间:2024/06/08 04:21
不搞开场白了,直接开搞。大家还记得上次我们设计好的通用Windows吗?把他拉出来,放到NGUI的树状结构下,作为UIRoot(XD)的节点,结构关系如图:

 

然后老规矩,重命名为:UI Player Inventory windows。

然后为 UI Player Inventory windows 添加一个新的脚本 UI_Panel_Adjust_Depth,主要作用为修正窗口键的叠堆时的遮罩关系,如果窗口设计成不能移动的话(手游),可以无视这个脚本,如图:

 

好了,这里乱入一个按钮的prefab的设计,按钮这个这个叫背包系统中主要用于翻页和其他用途,其实没有必要单独拿出来讲,因为他就是一个地地道道的按钮,这里就不详述如何创建了,如有不懂如何创建,可以参考NGUI的例子或者Item Slot的制作方法,具体效果如图:

 

按钮挂一个UILable作为子节点,用于显示按钮的名字,或且用图表显示也可以。

将它重命名为Button,然后补全他的组件,如图:

 

组件的具体用途也可以参考Item Slot,本质意义是一样的,而且最后4个组件作为可选项,因为都是一些可视化的效果而已,非必需品。

好了保存为prefab,到此为止,按钮完成。

然后为UI Player Inventory windows添加两个按钮,命名为 Next 和 Prev,用于前后翻页,并添加2个UILable,命名为 Pages 和 Money作为显示当前页和金钱的用途,树状结构如下:

 

然后这里需要配置一下翻页按钮的OnClick时间,点击Next按钮,然后配置如图:

 

配置方法 UI_Inventory_Manager/Next。

而Prev则是配置为 UI_Inventory_Manager/Prev。

然后就是配置Item Slot,仿照上一章节中最后的测试方法,在Panel下挂载一个空的GameObejct,重命名为Item Slots,然后在其下,挂载我们的Prefab Item Slot,树状结构如下图:

 

并按顺序重命名为 例如 Item Slot 1,2,3,4,5…方便后续的操作。这个很重要哦。

(最后,记得修改背包的名字,即背包的Title,这个UILabel位于 Panel->Ttile Bar 下面的那个GameObject中,具体位置在Windows的通用设计中有说明过。)

最后的UI元素布局如图:

 

根据你的项目需求,自行布局把,Item Slot的个数与摆法完全没有要求,喜欢怎么搞都可以。

基本的布局设计完成了,现在反过来看看 UI Player Inventory windows 中的 UI_Inventory_Manager 的配置,如图:

 

Type,背包的类型,这个是玩家背包,所以设置成Player_Inventory。

Decription_manager,描述管理器,主要用于管理描述面板组的一个管理器,这里由于还没有描述管理器,所以【留空】即可。
Page,Player_Inventory_money,关联页面显示的和金钱显示的UILabel即可。

Hold_to_move_hole_srack,这里打错字了,但是不改了,就这么办吧,就是堆栈操作的修饰键,就是按住某个键就可以成组道具的操作。手游项目可以忽略这个功能。

Audio_ondrag,拖放音效。

Audio_sell,卖音效。

Audio_buy,买音效。

Slots,就是我们道具槽的管理了,这里按顺序将他们配置好就好了。一定要按顺序哦,除非你想搞凌乱美,道具的显示会从Element 0的道具槽开始,然后按顺序王后调用道具槽显示。

好了,这个也配置好了,测试之前,请确保场景有如下的对象:

 

关于这个两个对象在这些文章有介绍:

【爆甲英雄传】3.道具管理器

相信聪明的你们,已经知道如何设计和配置玩家仓库UI Store Inventory windows 和 测试用的商店UI Shop Inventory windows 的UI了,所以,关于这两个UI的设计,就不再详述了,大同小义而已,这里放出他们相应的UI_Inventory_Manager就好了:

 
 

【特别指出,这里shop_name就是Title bar下的那个UILabel的节点】

OK,当你完全设计好这3个UI的时候,恭喜你,你已经完成了主要的UI面板的开发工作了,勇敢的点击运行,测试他们的互动性吧,这个时候基本的买卖和存放操作,已经可以顺利运行的,文章出处【狗刨学习网

 
0 0