NGUI插件的一个扩展---NGUI_HUD_Text

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<HUDText> ();
    }
    
    // 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"关掉就可以了。

原文地址:https://www.cnblogs.com/hometown/p/4063843.html