NGUI名字跟随、伤害显示、血条和miss效果的制作

这里讲一下类似于魔兽争霸里面的血条、伤害和miss效果的制作,

这个涉及到了NGUI里面的HUDText,它是NGUI的扩展,有效的只有两个脚本。

其中一个是UIFollowTarget、另外一个是HUDText。




UIFollowTarget脚本所在的物体在编辑器会出现四个选项:

Target表示的是你所要跟随的3D物体,一般是跟随在该物体正中心,

所以为了使其跟随在物体顶部,一般做法是在物体下面创建子物体,

然后让子物体位于父物体的顶部,把目标设置为子物体,

这样就能实现跟随在父物体的顶部了。

Game Camera表示渲染Target的Camera,一般来说都是Main Camera。

然后在UI Root面板下面有个Camera

该Camera的Layer为空,所有UIRoot下的NGUI物体都为空,

所要该Camera是负责渲染NGUI物体,UiCamera则是它。

添加了UIFollowTarget的任何一个NGUI控件,会跟随某3D物体。


HUDText用于显示你所需要显示的字体,从上至下的属性名称依次为:

动态字体、静态字体、字体大小、字体风格、应用渐变、渐变字体顶部颜色、

渐变字体底部颜色、字体效果、字体效果的颜色、偏移曲线、透明度曲线和大小变幻曲线。




下面简单附上一些相应的代码:

GameObject currentHudTextObj = NGUITools.AddChild(hudTextParent, hudTextPref);
        screamHudText = currentHudTextObj.GetComponent<HUDText>();
        uiFollowTarget = currentHudTextObj.GetComponent<UIFollowTarget>();
        uiFollowTarget.target = hudTextTarget;
        uiFollowTarget.gameCamera = Camera.main;
        uiFollowTarget.uiCamera = UICamera.currentCamera;
        screamHudText.Add(hudTextString, hudTextColor, hudTextDur);

伤害显示则是把其中Miss改为相应的数字即可。

这里要注意的是由于生成的是NGUI的物体,不能直接用unity的原生函数GameObject.Instantiate生成,

而是应该用NGUITools.AddChild函数来将editor界面指定好的prefab物体实例化,并新生成的物体加入到UIROOT

的某个物体下作为孩子来进行统一管理,否则使用原生函数会出现一些bug。


血条和名字的制作在这里引用下面的视频网站第七章。

点击打开链接











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章