using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class PlayerHealth : MonoBehaviour { public float maxHealth = 100; // 最大血量 public float currentHealth; // 目前血量 public TextMeshProUGUI healthText; // 設定顯示血量的文字 public Image healthBar; // 設定顯示血條的圖片 void Start() { currentHealth = maxHealth; // 初始化血量為最大血量 } void Update() { healthBar.fillAmount = currentHealth / maxHealth; int currentHealthInt = (int)currentHealth; healthText.text = "HP: " + currentHealthInt.ToString(); // 顯示生命值 } public void TakeDamage(int damage) { currentHealth -= damage; currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth); // 確保血量不會小於0 if (currentHealth <= 0) { Die(); } // 判斷玩家是否存活 } public void Heal(int healingAmount) { currentHealth += healingAmount; currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth); // 確保血量不會超過最大值 } void Die() { GetComponent().enabled = false; // 停止玩家的控制 } }