★Haruma_Kimura

(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」というタグを設定しましょう!

設定が完了したらゲームを再生

ボールと敵がぶつかった時、お互いダメージを受ければ成功です。