久违的更新了,最近比较忙,因为读书考试的原因,还有,出了新游戏(其实这个才是主要的),抱着学习的心态研究了一番,对道具和UI甚至技能也有新的理解和领悟,等把这个系列完成了,就开始新的尝试了,初步的构想是更新道具系统,以配合新的技能系统(这里值的是道具的附加技能)。
5.UI的设计 (2)道具槽的设计
今天的主角是,啦啦啦,道具槽。道具槽是这个UI系统中最基本的组成元素,一切的交互操作都围绕着它来进行的,既然是最基本的,当然也就是最简单的了。 首先看看他的庐山真面目。
这个道具槽的主要功能,就是显示:道具的图标,道具名字,和堆栈数量。
然后来观摩一下他的树状结构:
Item Slot,其实就是一个按钮,主要用于对操作事件的响应,例如点击或拖放等。 Icon,一个UITexture,用于显示道具图标 Name,一个UILable,用于显示道具的名字 Number,一个UILable,用户实现当前堆栈数
如何制作呢?
==================咸湿分割线===================
首先,点击菜单栏 NGUI->Create->Sprite 创建一个精灵,然后最好选择一个白色边框,和透明底色的图片作为道具槽的背景,白色边框有很好的颜色控制的特性,例如道具的等级,常见的白装和蓝装之类的,这样可以很好的在背景的颜色中显示出来。如图:
重命名为 Item Slot,并挂载以下脚本:
UISprite,UIButton和Box Collider保持默认就可以了,目前不需要做出修改。
2个UIPlay Sound作为可选的组件,主要未按钮添加在触发不同的事件时候播放的音效,如图
这里定义了鼠标点击和鼠标悬停时候的音效。
UIButton Scale和UIButton Offset作为可选组件,就是添了一下动画效果,例如鼠标点击或且悬停的时候的一些效果,如果大家体验过我发的那个UI demo,就会明白了。设置如图:
尝试改变下他的值来体验下效果吧。
最后就是茶水编写的脚本 UI_Item_Slot, 如图配置:
Show_description_onclick,点击显示道具的描述,即打开描述面板并更新。 Show_description_onhover,悬停显示道具的描述。 Is_drag_slot,是否可以拖放。
另外看看Name下的配置,如图:
这个Property Binding是NGUI提供的脚本,这里主要提供一个道具名字颜色与道具等级颜色想对应的一个效果。照着配置就好了。
好了道具槽的设计到此完成了,将它的Layer 设置成UI,然后保存未prefab。
==================咸湿分割线===================
想看看今天的劳动成果吗? 当然可以啦,直接点击运行就可以了,当然这样有点肤浅,作为后续开发的铺垫,我们来电高级的玩意,还记得之前那个通用框架的 Windows吗?点开他的树状结构图,然后在Panel下创建一个空的GameObejt,重命名,如图:
然后在item slots下面挂上一堆的item slot, 排好板。如图:
然后调整一下左排和右排item slot中的 UIButton Scale 和 UIButton Offset中的值,点击运行,来体验一下今天伟大的成果吧。
另外,有兴趣又不嫌弃的可以尝试浏览和研究一下我提供代码,今天的时间比较短,虽然可以合并一起讲,但是为了章节的分工明确,所以还是到此为止了,下篇我们我们开始设计背包UI了,首先设计的将会是玩家的背包UI。由于本次开始,各类之间的交叉性开始体验了,为了能让大家在本次能顺利测试成功,所以我这次将全部的UI脚本打包发上了,也就是说以后就不再需要下载新脚本了,大家只要找到相应的脚本,然后跟着茶水的步骤使用配置就可以了。 好了,收工。
若连接满了请下载论坛附件:
================================================================= 旧的资料下载
|