Menu
CoddyTech

HUD

CoddyのUnityジャーニー「Unityのゲームアーキテクチャ」セクションの一部。レッスン 58/64。

challenge icon

チャレンジ

中級

イベントを監視するだけのHUDを作成しましょう。

  1. Heroにpublic event Action<int, int> HealthChangedを追加し、Start内と値が変わるたびに(health, maxHealth)を渡してイベントを発生させます。
  2. WaveSpawnerにpublic event Action<int> WaveStartedを追加し、各ウェーブの開始時にWaveを渡してイベントを発生させます。
  3. 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プレイグラウンド