ふりかえり
昨日は、敵キャラクターのデータを作成しました!
7歩目 UIを使ってキャラデータを表示
今日は、UIを使ってプレイヤーと敵のステータスをゲーム画面に表示していきます。
前回までに PlayerData と EnemyData を作成し、それぞれ Debug.Log を使ってConsole上に出力できるようになりました。

しかし、ゲーム画面上にはまだ何も表示されていません。今回は、それを実際に見える形にしていきます!
1. TextUIの作成
まず、ステータスを表示するための Text(TextMeshPro)UI を用意します。
- Hierarchyビューの「+」をクリック
- 「UI > Text – TextMeshPro」を選択
- 作成されたTextオブジェクトの位置・サイズを調整します

表示内容の一例:
- PlayerNameText
- PlayerHPText
- PlayerLevelText (フォントは第2歩目で設定した日本語フォントを使い、サイズや色も調整してください)

同様に、Enemyの名前・HP・レベル用のTextも用意します。

2. ステータスをTextに反映するスクリプトの作成
プレイヤーのUI更新スクリプト:PlayerUIManager
using UnityEngine; using TMPro; public class PlayerUIManager : MonoBehaviour { public PlayerManager playerManager; public TextMeshProUGUI nameText; public TextMeshProUGUI hpText; public TextMeshProUGUI levelText; void Update() { UpdateUI(); } void UpdateUI() { nameText.text = playerManager.player.name; hpText.text = "HP: " + playerManager.player.currentHP + "/" + playerManager.player.maxHP; levelText.text = "Lv: " + playerManager.player.level; } }
- 空のゲームオブジェクトを作成(名前:PlayerUIManager)
- PlayerUIManager.cs をアタッチ
- Inspector上で、以下の項目を設定:
- PlayerManager:スクリプトではなく、PlayerManagerをアタッチしたゲームオブジェクト
- 各 TextMeshProUGUI:対応するUIテキスト

注意:PlayerManagerにはスクリプトファイルではなく、オブジェクトをドラッグ&ドロップしてください。
敵のUI更新スクリプト:EnemyUIManager
using UnityEngine; using TMPro; public class EnemyUIManager : MonoBehaviour { public EnemyManager enemyManager; public TextMeshProUGUI nameText; public TextMeshProUGUI hpText; public TextMeshProUGUI levelText; void Update() { UpdateUI(); } void UpdateUI() { nameText.text = enemyManager.enemy.name; hpText.text = "HP: " + enemyManager.enemy.currentHP + "/" + enemyManager.enemy.maxHP; levelText.text = "Lv: " + enemyManager.enemy.level; } }
- 同様に空のゲームオブジェクトを作成(名前:EnemyUIManager)
- EnemyUIManager.cs をアタッチ
- Inspectorで EnemyManager と各Textを設定します

3. ゲーム画面での確認
すべての設定が完了したら、ゲームを再生してみましょう。
ゲーム画面に以下のようなステータスが表示されていれば成功です:
- プレイヤー名、HP、レベル
- 敵の名前、HP、レベル

まとめ
今回は、キャラクターのステータスをゲーム画面上に表示させる仕組みを実装しました!
実際にUIにステータスが出ることで、一気にゲームらしさが増してきましたね。
次回は、いよいよプレイヤーの攻撃機能を実装していきます。
バトルシステムの第一歩です!お楽しみに!
コメント