取り組んでいること
画像1のようなTankが画像2のようなアイテムを取ることでパワーアップして、画像3のような状態になるようにしたいと思っています。まず、これを実装するために以下のようなスクリプトを書き、画像2のオブジェクトにアタッチしました。
画像1 画像2
public class PowerUp : MonoBehaviour { [SerializeField] private GameObject effectPrefabs; [SerializeField] private AudioClip powerUpSound; [SerializeField] private GameObject getTurret,Tank; private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) { StartCoroutine("ChangeTank"); } } IEnumerator ChangeTank() { GameObject effect = Instantiate(effectPrefabs,Tank.transform.position, Quaternion.identity); effect.transform.SetParent(Tank.transform); Destroy(effect, 1.5f); AudioSource.PlayClipAtPoint(powerUpSound,transform.position); yield return new WaitForSeconds(2); getTurret.SetActive(true); yield return new WaitForSeconds(5); getTurret.SetActive(false); this.gameObject.SetActive(false); } }
そして、今回は敵を倒したときにこのアイテムを落とすという事を考えているため、スクリプトの方で自動生成しようと思いこのオブジェクトをPrefab化しました。
わからないこと
Prefab化していない状態だと画像4のようなインスペクターでオブジェクト(TankとGetTurret)をドラッグ&ドロップで入れることができるんですが、Prefab化してしまうとそれができなくなってしまいます。なぜ、Prefab化してしまうと入れることができなくなってしまったんでしょうか?
画像4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/14 01:43
2020/02/15 09:11
2020/06/22 06:34