Udemy-Unity制作类暗黑破坏神游戏记录-P127

2024-09-28
140看过
使用UI实时显示生命值

在Health中添加获取百分百的方法。随后编写一个脚本挂着UI上实时调用该方法
敌人生命值的显示也是一样,创建一个新脚本挂在敌人上
  1.         public float  GetPercentage()//返回生命值的百分比
  2.         {
  3.             //返回当前生命值 / 基础状态中的获取生命值
  4.             return 100*healthPoints / GetComponent<BaseStats>().GetHealth();
  5.         }
  6.       
复制代码
HealthDisplay

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. namespace RPG.Resources
  6. {
  7.     //
  8.     public class HealthDisplay : MonoBehaviour
  9.     {
  10.         Health health;
  11.         Text healthDisplay;
  12.         private void Awake()
  13.         {
  14.             health = GameObject.FindWithTag("Player").GetComponent<Health>();
  15.             healthDisplay = GetComponent<Text>();
  16.         }
  17.         private void Update()
  18.         {
  19.             healthDisplay.text=string.Format("{0:0}%", health.GetPercentage());
  20.         }
  21.     }
  22. }
复制代码
EnemyHealthDisplay

  1. using RPG.Combat;
  2. using RPG.Resources;
  3. using System;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. namespace RPG.Resources
  9. {
  10.     public class EnemyHealthDisplay : MonoBehaviour
  11.     {
  12.         Fighter fighter;
  13.         
  14.         private void Awake()
  15.         {
  16.             fighter = GameObject.FindWithTag("Player").GetComponent<Fighter>();
  17.            
  18.         }
  19.         private void Update()
  20.         {
  21.             if(fighter.GetTarget() == null)
  22.             {
  23.                 GetComponent<Text>().text = "N/A";
  24.             }
  25.             if(fighter.GetTarget() != null)
  26.             {
  27.                 Health health = fighter.GetTarget();
  28.                 GetComponent<Text>().text = String.Format("{0:0}%", health.GetPercentage());
  29.             }
  30.            
  31.         }
  32.     }
  33. }
复制代码


回复

举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表