zoukankan      html  css  js  c++  java
  • NGUI:HUD Text(头顶伤害漂浮文字)

    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;
    
    /// <summary>
    /// 类名描述:如何使用HUD Text
    /// 作用:把这个脚本绑定在需要使用HUD的GameObject上面,
    /// 日期:2013-09-16
    /// 版本:v0.1
    /// 创建者:赵青青
    /// 修改者:赵青青
    /// </summary>
    
    [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,看到cube头顶飘出HUD 字体,Good!

     image

  • 相关阅读:
    Oracle UTL_HTTP(收集汇总有用资料)
    UTL_HTTP Call a Web Service and Pass Parameters as Part of the URL
    How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS
    HOW to Use QP_PREQ_PUB.PRICE_REQUEST API to Price an Item
    Sample Code for Qp_preq_pub.Price_request Api to Simulate an Ask for Promotion Modifier
    修改量更新API
    关于销售订单高级定价的一点疑惑
    Useful Scripts for E-Business Suite Applications Analysts
    OPEN A PO ORDER OR SO ORDER
    更改EBS服务器域名/IP
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/3325351.html
Copyright © 2011-2022 走看看