NGUI_HUD_Text扩展主要用于主角跟随和伤害/治疗的功能。
场景大概是这样的,我们希望有一个主角,在其头顶显示他的名字,在单击鼠标左键的时候显示红色的“-10”表示减少血量,单击鼠标右键的时候显示绿色的“+10”表示增加血量。
首先打开unity编辑器,导入NGUI插件和NGUI_HUD_Text两个插件包。NGUI_HUD_Text扩展我们只用里面的两个脚本:HUDText和UIFollowTarget。所以导入的实例和一个270的package可以删掉,节省空间。
1.在场景中拖入一个UIRoot控件,在其上右键-->Create --> Label。我们把控件的Text属性改成主角的名字“rxm”。在场景中增加一个胶囊体表示主角。
2.给Lable添加脚本UIFollowTarget,然后给UIFollowTarget脚本下的属性赋值:“Target属性:胶囊体;Game Camera:Main Camera;UI Camera:UIRoot下的Camera。
3.在UIRoot下增加一个空的GameObject,名字改成HUD。为此空对象添加脚本HUDChange。代码如下:
using UnityEngine;using System.Collections;public class HUDChange : MonoBehaviour { private HUDText text; // Use this for initialization void Start () { text = this.GetComponent(); } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown (0)) { text.Add(-10,Color.red,1f); } if (Input.GetMouseButtonDown (1)) { text.Add(10,Color.green,1f); } }}
4.参照第二步给HUD添加脚本“UIFollowTarget”,并赋值。
5.运行后通过移动主角可以发现名字随着主角在动,当单击鼠标时也可以看到相应效果,如下:
PS:今天在NGUI中添加Label后,发现无论在Scene,还是Game视图下都有一个边框,效果如下图。卡了我20分钟,郁闷了会儿,后来解决了。把"Gizmos"关掉就可以了。