
- ① HPバーを作る(UI)
- ② 敵のHPバー
- ③ Player.cs(プレイヤー)
- ④ Enemy.cs(敵)
- ⑤ オブジェクト作成
- ⑥ HPバーを接続(重要)
- ⑦ BattleSystemを進化させる
- ⑧ QuizManagerに追加(重要)
- ⑨ 動き
HPバー+敵システムを「そのまま作れるレベル」で説明する。
① HPバーを作る(UI)
作り方
Canvas 右クリック
→ UI
→ Slider
名前変更
PlayerHPBar
見た目設定
Inspectorで
Min Value = 0
Max Value = 100
Value = 100
位置
Pos X = -200
Pos Y = 200
Width = 300
Height = 30
不要なもの削除(見やすくする)
Hierarchy:
PlayerHPBar
├─ Background
├─ Fill Area
│ └─ Fill
└─ Handle Slide Area ← 削除
👉 Handle はいらない(つまみ)
② 敵のHPバー
同じものをコピー
Ctrl + D
→ EnemyHPBar
位置:
Pos X = 200
Pos Y = 200
③ Player.cs(プレイヤー)
using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour
{
public int maxHP = 100;
public int currentHP;
public Slider hpBar;
void Start()
{
currentHP = maxHP;
hpBar.value = currentHP;
}
public void TakeDamage(int damage)
{
currentHP -= damage;
hpBar.value = currentHP;
if(currentHP <= 0)
{
Debug.Log("Player Dead");
}
}
}
④ Enemy.cs(敵)
using UnityEngine;
using UnityEngine.UI;
public class Enemy : MonoBehaviour
{
public int maxHP = 50;
public int currentHP;
public Slider hpBar;
void Start()
{
currentHP = maxHP;
hpBar.value = currentHP;
}
public void TakeDamage(int damage)
{
currentHP -= damage;
hpBar.value = currentHP;
if(currentHP <= 0)
{
Debug.Log("Enemy Defeated!");
}
}
}
⑤ オブジェクト作成
Hierarchyで
Create Empty → Player
Create Empty → Enemy
それぞれにスクリプト追加
⑥ HPバーを接続(重要)
Inspectorで
Player
→ hpBar に PlayerHPBar をドラッグ
Enemy
→ hpBar に EnemyHPBar をドラッグ
⑦ BattleSystemを進化させる
ここがゲームの核🔥
public class BattleSystem : MonoBehaviour
{
public Player player;
public Enemy enemy;
public QuizManager quiz;
public void SubmitAnswer(string answer)
{
if(quiz.IsCorrect(answer))
{
enemy.TakeDamage(20);
}
else
{
player.TakeDamage(10);
}
}
}
⑧ QuizManagerに追加(重要)
public bool IsCorrect(string answer)
{
return answer == words[currentQuestion];
}
⑨ 動き
問題表示
↓
答え入力
↓
OK押す
↓
正解 → 敵HP減る
不正解 → 自分HP減る
↓
どっちか0 → 勝敗
⑩ 見た目イメージ
[Player HP ======= ]
VS
[Enemy HP ===== ]
apple の意味は?
[入力欄]
[OK]