###問題点
弓から矢のゲームオブジェクトを放ち、別のオブジェクトに当たったら矢をDestory();
で消して、初期位置に再生成させたいのですが、エラーをはいて再生成できません。
下の画像が Destroyすると出て来るエラーです。
矢をarrowPrefabという名前にしてPrefab化しています。空のスクリプトを作りそこにArrowGeneratorというジュネレータスクリプトをアタッチして矢の再生成をお願いしています。
###コード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class ArrowGenerator : MonoBehaviour 6{ 7 public GameObject projectilePrefab; 8 9 void Update () { 10 if (projectilePrefab == null) { 11 projectilePrefab = Instantiate (projectilePrefab) as GameObject; 12 } 13 } 14} 15
###実現したい事
上記スクリプトがうまく働くようにしたい。(消したオブジェクトをもと通りに再生成したい)
素人質問ですみません、、、。よろしくお願いします。
#####補足
Destroy()
でなく、SetActive();
を使う方法も考えたのですが、(他オブジェクトと衝突したあと、矢をSetActive(false);
にして、3秒たったらfalseをtrueにして再表示といった感じ)これも私にはうまく働かせることができませんでした...。