(2026年3月4日)
<Ballと敵がぶつかるとお互いダメージを受ける>
*UIの復習
Ballと敵のHPを表示するUIを作成しましょう。
名前は「HPLabel」と「EnemyHPLabel」


新規にスクリプトを作成
名前を「EnemyHP」に変更
下記のコードを書いてチェック
// ★追加
using TMPro;
using UnityEngine;
public class EnemyHP : MonoBehaviour
{
public int enemyHP;
public TextMeshProUGUI enemyHPLabel;
void Start()
{
enemyHPLabel.text = "Enemy: " + enemyHP;
}
public void ReduceEnemyHP()
{
enemyHP -= 1;
enemyHPLabel.text = "Enemy: " + enemyHP;
if (enemyHP < 1)
{
Destroy(this.gameObject);
}
}
}
このスクリプトをEnemyに追加
EnemyHPの設定
EnemyHPLabelを追加

次は、Ball用のスクリプトの作成
新規にスクリプトを作成
名前を「BallHP」に変更
下記のコードを書いてチェック
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
public class BallHP : MonoBehaviour
{
public int HP;
public AudioClip sound;
public TextMeshProUGUI ballHPLabel;
void Start()
{
ballHPLabel.text = "Ball: " + HP;
}
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
HP -= 1;
ballHPLabel.text = "Ball: " + HP;
AudioSource.PlayClipAtPoint(sound, transform.position);
// 敵のスクリプトを呼び出す
collision.gameObject.GetComponent<EnemyHP>().ReduceEnemyHP();
if (HP < 1)
{
SceneManager.LoadScene("GameOver");
}
}
}
}
このスクリプトをBallに追加
HPは自由に設定
音も自由に設定(ぶつかった時の音です)
BallHPLabelを追加

*タグの復習
Enemyに「Enemy」というタグを設定しましょう!

設定が完了したらゲームを再生
ボールと敵がぶつかった時、お互いダメージを受ければ成功です。
