需求分析
敌人受到攻击时,需要显示受到的伤害的数值,这和LOL类似。本节处理敌人受伤时的伤害显示。由于敌人受伤时,会触发主角连击的显示,因此敌人受伤时的伤害显示的代码和显示连击的代码是在同一区域。
具体实现
1. 创建一个空的GameObject,并命名为HudText,它用于管理敌人受伤时的伤害显示的GameObject。为HudText添加脚本,注意它的脚本是运用NGUI中的Csharp文件:,其中脚本HUD Text用于显示文本,UIFollow Target用于让文本跟随目标(这里是敌人)。注意:为方便为每一个敌人都添加伤害显示,把HudText设置为Prefab。
2. 为方便管理,类似于敌人连击显示,这里把管理敌人受到伤害的数字显示的代码写在脚本HpBarManager(单例模式)中,需要增加如下代码:
//using UnityEngine;
//using System.Collections;
//
//public class HpBarManager : MonoBehaviour {
// public static HpBarManager _instance; // 把该类做成单例模式
// public GameObject hpBarPrefab; // 要为敌人实例化的血条
public GameObject hudtextPrefab;
//
// void Awake(){
// _instance = this;
// }
//
// // 为 target 设置HpBar血条
// public GameObject GetHpBar(GameObject target){
// // 实例化hpBarPrefab
// GameObject go = NGUITools.AddChild (this.gameObject, hpBarPrefab);
// go.GetComponent<UIFollowTarget> ().target = target.transform;//