unity 中使用hudtext 怎么让伤害值不累加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 中使用hudtext 怎么让伤害值不累加相关的知识,希望对你有一定的参考价值。

去HUD Text插件的代码里,找到Add方法,然后把图片中的第一处红框改为0或者去掉,再下面两个红框的代码注释掉(亲身试过,不过有什么潜在的后果就不知道了 ,我也是初学者...


参考技术A 1. 导入NGUI和HUD Text插件
2. 新建一个Cube,在Cube下创建一个空的子对象命名为“Target”,调整Target的位置到Cube上方
3. 新建一个2D UI,在Camera下新建一个空的子对象 命名为HUD Text,然后将HUDText.cs和UIFollowTarget.cs脚本赋给HUD Text对象,并按照下图给Font和Target赋值

4. 新建脚本test.cs

using UnityEngine;

public class test :MonoBehaviour

public HUDText hudText;
void Update()

// 0f表示数字上升前的停留时间stayDuration
hudText.Add(Time.deltaTime*10f, Color.white, 0f);


void OnClick()

hudText.Add("Click!", Color.green, 0f);



  
5. 将test.cs赋给Cube,然后将HUDText对象赋给HudText变量

6. 运行查看效果

7. 如果单击Cube没有效果,需要打开NGUI-Open-Camera Tool,勾选 Main Camera(3D Default) 下的EV本回答被提问者采纳

NGUI HUDText

今天使用HUDText的时候,发现须要如今场景里创建一个UI2dRoot;不然位置不对

或许应该创建一个prefab这样每一个场景都加入一个就可以。


  1. using UnityEngine;
  2.  
  3.     using UnityEditor;    
  4.  
  5.     public class FixStupidEditorBehavior : MonoBehaviour {
  6.  
  7.         [MenuItem("GameObject/Create Empty Parent #&e")]
  8.         static void createEmptyParent() {
  9.             GameObject go = new GameObject("GameObject");
  10.             if(Selection.activeTransform != null)
  11.             {
  12.  
  13.                     go.transform.parent = Selection.activeTransform.parent;
  14.  
  15.                     go.transform.Translate(Selection.activeTransform.position);
  16.  
  17.                     Selection.activeTransform.parent = go.transform;
  18.  
  19.             }
  20.  
  21.         }  
  22.  
  23.  
  24.         [MenuItem("GameObject/Create Empty Duplicate #&d")]
  25.         static void createEmptyDuplicate() {
  26.  
  27.             GameObject go = new GameObject("GameObject");
  28.  
  29.             if(Selection.activeTransform != null)
  30.             {
  31.                 go.transform.parent = Selection.activeTransform.parent;
  32.                 go.transform.Translate(Selection.activeTransform.position);
  33.             }
  34.  
  35.         }
  36.  
  37.         [MenuItem("GameObject/Create Empty Child #&c")]
  38.         static void createEmptyChild() {
  39.  
  40.             GameObject go = new GameObject("GameObject");
  41.  
  42.             if(Selection.activeTransform != null)
  43.             {
  44.                     go.transform.parent = Selection.activeTransform;
  45.                     go.transform.Translate(Selection.activeTransform.position);
  46.             }
  47.  
  48.         }
  49.  
  50.     }



载入场景注意:异步载入场景的时候,NGUI是无法正常绘制的,须要用原生的OnGUI

以上是关于unity 中使用hudtext 怎么让伤害值不累加的主要内容,如果未能解决你的问题,请参考以下文章

UNITY3D 游戏开发之三NGUI && HUDText 的练习源码及资源

计蒜客——踩蚂蚁

NGUI HUDText

Unity3d 碰撞问题,怎么能不穿透

我的 raycast 在 Unity 3D 中没有激活我的敌人死亡

Ruby‘s Adventrue游戏制作笔记Unity伤害陷阱