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"關掉就可以了。