天天看點

NGUI:HUD Text NGUI:HUD Text

NGUI:HUD Text

       之前一直有聞于NGUI中的HUD Text插件卻一直未曾使用過,今天得以嘗試,看了會兒官方的文檔,楞是沒給看明白,官方的ReadMe.txt寫的使用方法如下:

Usage:
1. Attach the HUDText script to a game object underneath your UIRoot and set the font it should use.
2. To make it follow an object drawn with another camera, attach UIFollowTarget to the same object and set its target.
3. From code, use HUDText's Add() function to add new floating text entries.
           
然後看它的Example之後自己動手寫了個簡單的demo,步驟如下:
           
1、建立Scene,建立一個Cube,建立一個UseHUD.cs
           
2、建立NGUI,把NGUI放在2DUI layer
           
3、在NGUI的Camera上建一個空的GameObject,綁定上腳本HUDRoot.cs
           
4、打開UseHUD.cs代碼如下:
           
using UnityEngine;
using System.Collections;


[AddComponentMenu("GameName/UseHUDExample")]
public class UseHUD : MonoBehaviour
{
    public Transform m_target;//HUD字型出現的位置
    public GameObject m_hudTextPrefab;//HUD字型 prefab,不可為空
    HUDText m_hudText = null;//HUD字型
    // 初始化時調用
    void Start ()
    {
    
        if (HUDRoot.go == null) {
            GameObject.Destroy (this);
            return;
        }
        if (m_target == null) {
            m_target=this.transform;
            Vector3 mpos = this.transform.position;
            mpos.y += 2;
            m_target.position = mpos;
        }
        //添加hud text到HUDRoot結點下
        GameObject child = NGUITools.AddChild (HUDRoot.go, m_hudTextPrefab);
        //擷取HUDText
        m_hudText = child.GetComponent<HUDText> ();
        //添加UIFollow腳本
        child.AddComponent<UIFollowTarget> ().target = m_target;
    }
    
    // 每幀調用此函數一次
    void Update ()
    {
        if (Input.GetMouseButton (0)) {
            m_hudText.Add ("+100", Color.red, 0);
        }
        if (Input.GetMouseButton (1)) {
            m_hudText.Add ("-30", Color.green, 0);
        }
        if (Input.GetMouseButton (2)) {
            m_hudText.Add ("漂亮!", Color.cyan, 0);    
        }
    }

    void OnClick ()
    {
        if (m_hudText != null) {
            m_hudText.Add ("HUD TEXT", Color.red, 1.0f);
        }
    }
}
           

運作之後,點選螢幕中的cube,就能出現HUD 字型了,漂亮!

NGUI:HUD Text NGUI:HUD Text