/// <summary> /// 播放受击动作 /// </summary> /// <param name="hurt">伤害值</param> public void OnPlayHit(float hurt) { mHeroBlood.ShowBlood(); mHeroEnity.CurrentBlood -= hurt; if (mHeroEnity.CurrentBlood <= 0) { mHeroEnity.CurrentBlood = 0; } _curShortSpeed = mHeroEnity.HeroShotSpeed; LYXBattleBuffer buffer = LYXBattleBuffer.CreateHarm(mBatManage.m2DUIRoot, gameObject, hurt, new Vector3(0, 150, 0)); if (buffer != null) { buffer.transform.localRotation = Quaternion.Euler(new Vector3(0, -90, 0)); buffer.PlayHarmAnimation(); } }
/// <summary> /// 创建伤害值 /// </summary> /// <param name="parent">父节点</param> /// <param name="target">伤害值位置</param> /// <param name="hurtValue">伤害值</param> /// <param name="offect">便宜位置</param> /// <returns></returns> public static LYXBattleBuffer CreateHarm(GameObject parent, GameObject target, float hurtValue, Vector3 offect) { LYXBattleBuffer buffer = LCSCompHelper.LoadResource <LYXBattleBuffer>("Prefab/hurtvalue"); UILabel lab = buffer.GetComponent <UILabel>(); if (lab == null) { return(null); } lab.text = "[ff0000] -" + hurtValue; Transform trans = lab.transform; trans.parent = parent.transform; trans.localPosition = Vector3.zero; trans.localRotation = Quaternion.identity; trans.localScale = Vector3.one; trans.position = target.transform.position; trans.localPosition = trans.localPosition + offect; return(buffer); }