NGUI HUD Text

1、NGUI HUD Text v1.13下载链接 链接:https://pan.baidu.com/s/1D0HiOyBd0SJKLAl30SF2CQ 密码:5otl
2、NGUI HUD Text简单API分析

2.1、最基本的文本Text显示
新建一个Unity场景,在场景中创建一个空物体,并为其添加一个HUD Text.cs脚本,然后创建一个脚本如下所示。注意在添加HUDText需要给他设置一个默认的Font,否则看不到效果。offset Curve为一些动画曲线。可自行调节。
这里写图片描述

using UnityEngine;
using System.Collections;
public class HUDTextTest : MonoBehaviour {
    public HUDText m_text;
    // Update is called once per frame
    void Update ()
    {
      if(Input.GetMouseButtonDown (0))
        {
            DisText("哈哈哈哈");
        }
    }
    /// <summary>
    /// 显示特定文字
    /// </summary>
    /// <param name="str">HUDText显示文字</param>
    public void DisText(string str)
    {
        ///显示文字   显示颜色   显示文字停留时间
        m_text.Add(str, Color.red, 1); 
    }
}

当玩家鼠标点击时,场景会出现如下图所示效果。
这里写图片描述
2.2、设置位置
给HUDText设置一个特定的位置,如显示在某一个特定3D物体上方之类的。设置方法如下所示

 /// <summary>
    /// HUDText需要显示的目标位置
    /// </summary>
    /// <param name="target"></param>
    public void SetTarget(Transform target)
    {
        #region 方法1
        Vector3 pos = Camera.main.WorldToViewportPoint(target.position);
        pos = UICamera.mainCamera.ViewportToWorldPoint(pos);
        pos = m_text.transform.parent.InverseTransformPoint(pos);
        pos.z = 0f;
        m_text.transform.localPosition = pos;
        #endregion
        #region 方法2
        //Vector3 vec = Camera.main.WorldToViewportPoint(target.position);
        ////转换为UI摄像机的世界坐标
        //Vector3 vec1 = UICamera.mainCamera.ViewportToWorldPoint(vec);
        //m_text.transform.position  = vec1;
        #endregion
    }

如下图我将Cube位置设置为HUDText需要显示的位置,显示效果如下图所示。
这里写图片描述
2.3、HUDText的ADD方法当显示为数字时具有一定特殊性
如下代码

 public void DisText(int intstr)
    {
        ///显示数字   显示颜色   显示文字停留时间
        m_text.Add(intstr, Color.red, 1);
    }

采用如下方法调用,显示为+1,并且当你在其未消失时点击会出现如下图所示的+2+3等一系列数字,快速持续调用会出现数字累加效果。

if(Input.GetMouseButtonDown (0))
        {
            DisText(1);
        }

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_36274965/article/details/79915023
HUD