您的位置:首页 > 产品设计 > UI/UE

NGUI学习(三)

2015-11-12 23:56 204 查看
(1)血条的制作:

实际上在对于血条来说,就从图片上看出有点像是滑动器slider。

首先血条有两层背景,一层是底部的黑色,一层是表层的红色,然后里面还有一个label用来显示血量数据

所以首先建立一个sprite ,设置颜色为黑色,更名为lifebar

然后 在lifebar下面再建一个child sprite,设定颜色为红色,然后设置child 的Anchors的属性,让两张sprite重叠:

同样的创建显示血条数据的label

然后给lifebar 中的Attach-〉Box Collider,添加触发器

再Attach一个slider脚本,设置滑动的时候背景图片为lifebar(黑色的sprite),Foreground为红色的sprite,

这样血条大致设置完成了

由于血条是由内部的脚本控制的,不应该是可以互动触发的,所以此时去掉Box Collider触发器就ok了

实现血条的跟随:



此时我们直接可以使用NGUI_HUD_TEXT插件

提供的有一个UIFolllowTarget脚本

那么实现血条跟随的原理是什么呢?

只不过是在游戏物体上面建立一个Child Empty Object ,将这个空的对象放到游戏物体的上面适当的位置,让后让血条跟随在这个空对象显示。这样就实现了血条跟随游戏物体的移动。

将脚本挂载到血条上面(有多个游戏物体时,一个游戏物体分别有着一个血条)

设置Target(跟随的对象)

Game Camera(游戏渲染相机)

Ui Camera(UI渲染相机)

Disable If Invisible(当不可见时不会去渲染,有利于优化)

名称的跟随同上面的原理一样

(2)实现伤害的显示已及治疗量显示

我们依旧是用到上面谈到的插件,

原理的话就是说:在游戏物体上面指定的位置,在触发时间之后出现数字(红色的伤害量,绿色的治疗量之类的)显示。

出现数字显示我们用到的是插件里提供的

HUDText脚本,将脚本挂载到一个空物体上,调用里面的Add()函数即可实现在当前位置显示出数字

这里可以设置字体,字体大小,出现动画之类的

public void Add (object obj, Color c, float stayDuration) 可以设置触发一次受到的伤害或者治疗量,颜色,存在时间

然后和上面的一样使用 UIFolllowTarget脚本

最后需要在游戏物体上面挂载脚本调用Add()函数实现伤害治疗量的触发。
——爱生活,乐分享

Polaris

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: