Unityを使用して初めて簡易的なFPSシューティングゲームを作成しようとしています。https://xr-hub.com/archives/7782 こちらのサイト様を参考に、球が当たったら敵が破壊する所までは作成できました。
ここから更に敵が破壊されたら、次の敵を出現させたいのですが、破壊された事を認識した後に別スクリプトを起こすにはどのようにしたら良いのでしょうか。
``
C# DestroyObject using System.Collections; using System.Collections.Generic; using UnityEngine; public class DestroyObject : MonoBehaviour { public int damage; //当たった部位毎のダメージ量 private GameObject enemy; //敵オブジェクト private HP hp; //HPクラス void Start() { enemy = GameObject.Find("Enemy"); //敵情報を取得 hp = enemy.GetComponent<HP>(); //HP情報を取得 } void OnTriggerEnter(Collider other){ //ぶつかったオブジェクトのTagにShellという名前が書いてあったならば(条件). if (other.CompareTag("Shell")){ //HPクラスのDamage関数を呼び出す hp.Damage(damage); //ぶつかってきたオブジェクトを破壊する. Destroy(other.gameObject); } } } HP using System.Collections; using System.Collections.Generic; using UnityEngine; public class HP : MonoBehaviour { public int hitPoint = 100; //HP // Update is called once per frame void Update () { //HPが0になったときに敵を破壊する if (hitPoint <= 0) { Destroy(gameObject); } } //ダメージを受け取ってHPを減らす関数 public void Damage(int damage) { //受け取ったダメージ分HPを減らす hitPoint -= damage; } }
試したこと
using UnityEngine;
using UnityEngine.Events;
public class DeleteObject : MonoBehaviour {
public UnityEvent OnDestroyed = new UnityEvent();
private void OnDestroy(){
Debug.Log("Destroyed");
OnDestroyed.Invoke();
}
}
(敵)に対して弾が当たった際に破壊されたことを認識させるところまでは出来ました。が、その認識を受けて次の(敵)を出現させる方法がどうしても分からなかった為質問させていただきました。初心者ですがアドバイスよろしくお願いいいたします。
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー