HUD 界面
本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 58 课,共 64 课。
挑战
中等构建一个只负责监听的 HUD。
Hero添加public event Action<int, int> HealthChanged,并在Start中以及每次状态变化时,用(health, maxHealth)触发事件。WaveSpawner添加public event Action<int> WaveStarted,并在每一波开始时用Wave触发事件。- 在
HUD中,在OnEnable中订阅,在OnDisable中取消订阅;填充healthBar,显示HP 3/5和Wave 2。不要使用Update。
按下“开始”并投入战斗:HUD 会及时更新。然后按“检查”。
亲手试试
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class HUD : MonoBehaviour
{
[SerializeField] private Hero hero;
[SerializeField] private WaveSpawner spawner;
[SerializeField] private Image healthBar;
[SerializeField] private TMP_Text healthText;
[SerializeField] private TMP_Text waveText;
// 后面的课会补全这里:在屏幕上显示生命值和波次。
}
Unity 游戏架构中的所有课
自己练习: Unity 在线编辑器