zoukankan      html  css  js  c++  java
  • 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"关掉就可以了。

  • 相关阅读:
    进程笔记(一)
    Docker(二) 镜像
    Docker(一) 简介
    Nginx(二) 常用配置
    4、ABPZero系列教程之拼多多卖家工具 集成短信发送模块
    3、ABPZero系列教程之拼多多卖家工具 项目修改及优化
    2、ABPZero系列教程之拼多多卖家工具 更改数据库为Mysql
    1、ABPZero系列教程之拼多多卖家工具 前言
    asp.net mvc 记录Action耗时
    [转]C#异步的世界【上】
  • 原文地址:https://www.cnblogs.com/hometown/p/4063843.html
Copyright © 2011-2022 走看看