赞
踩
本文由作者@zx一路飞奔出品,转载请注明出处
文章地址:http://blog.csdn.net/u014735301/article/details/43085145作者微博:http://weibo.com/u/1847349851
NGUI HUD Text是一款不错的信息显示插件,
例如人物头顶的对话显示,受到伤害,治疗的数字显示等。
顾名思义,这款插件是基于NGUI开发的,也就是说它必须跟NGUI配套使用。
这里我使用这个插件来做一个攻击伤害的显示,同时也在怪物头顶做了血条。先看看效果!
感觉还是超酷的! 下面来看看插件是怎么使用的
同时为了使血条能够显示在enemy的头顶,还需要添加UIFollowTarget脚本
在enemy上方创建一个空对象,将脚本中target选择那个对象。
这样在游戏中,血条就会跟随enemy的移动而移动了!!同时伤害显示也会在这个地方出现!!
在True Type Font 选择字体,下面是字体大小,样式,
Effect 是信息显示的样式,我选择none。
Offset ,Alpha,Sacle 为显示信息的动画效果,可以默认,也可以自己调整
在enemy控制脚本中,使用它,
HUDText mText.Add(String text, Color color, float stayDuration),text是需要显示的文本,color是文本颜色,stayDuration是文本显示的时间
- //受到伤害
- public void GetDamage(float hit, float multipleDamage)
- {
- Debug.Log("enemy受到了" + hit + "点伤害 * " + multipleDamage);
- for (int i = 0; i < multipleDamage; i++)
- {
- text.Add("-" + hit + "", Color.yellow, 0.1f);
- //根据血量的扣除,来调整value的值
- slider.value -= 0.1f;
- }
- EnemyLockTarget(player);
- ctrlAnimState = ControlAnimationState.TakeAtk;
- }
- using UnityEngine;
- using System.Collections;
-
- public class SpawnTest : MonoBehaviour {
- //enemy 和 HUD 的prefab
- public GameObject enemyPrefab,HUDPrefab;
-
- // Update is called once per frame
- void Update () {
- if (Input.GetMouseButtonDown(0))
- {
- //实例化enemy
- GameObject enemy = Instantiate(enemyPrefab, new Vector3(transform.position.x, transform.position.y,
- Random.Range(-5f,5f)), Quaternion.identity) as GameObject;
- //在HUDRoot对象下,实例化血条和HUDText
- GameObject HUD = NGUITools.AddChild(HUDRoot.go,HUDPrefab);
- //设置target对象为enemy的子物体showInfo
- UIFollowTarget follow = HUD.GetComponent<UIFollowTarget>();
- follow.target = GameSetting.GetTransform(enemy.transform,"showInfo");
- //将hudtext脚本赋值给EnemyController使用
- HUDText hud = HUD.GetComponent<HUDText>();
- EnemyController enemyC = enemy.GetComponent<EnemyController>();
- enemyC.text = hud;
- }
- }
- }
- //查找某个物体下无限层级的子物体名称,并返回该子物体。
- static public Transform GetTransform(Transform check, string name)
- {
- foreach (Transform t in check.GetComponentsInChildren<Transform>())
- {
- if (t.name == name) { return t; }
- }
- return null;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。