我有一个对象,点击它时会被销毁,并在计时器上的其他地方随机生成。我试图这样做,而不是它出现在固定位置的随机点。
我还希望他们在定时间隔内一次一个地在那些固定位置随机产生。(因此,如果它出现在一个位置,比如5秒,它将被销毁,下一个将出现在不同的位置。)
我尝试做固定的spawn位置,但是void spawner不想工作。
我得到一个“类型的对象”GameObject“已被破坏,但你仍然试图访问它”。
我可以通过注释On_TouchStart销毁线来解决这个问题,但我需要它。
这是我的代码:
using UnityEngine;
using System.Collections;
public class Spawner : MonoBehaviour {
public float AppearTime = 0f;
public Transform[] teleport;
public GameObject[] prefab;
void Spawner(){
int tele_num = Random.Range(0,5);
int prefab_num = Random.Range(0,3);
if (prefab !=null){
Instantiate(prefab[prefab_num], teleport[tele_num].position, teleport[tele_num].rotation );
}
}
void StartTime()
{
StartCoroutine(DoTime());
}
void OnEnable(){
EasyTouch.On_TouchStart += On_TouchStart;
}
IEnumerator DoTime()
{
yield return new WaitForSeconds(AppearTime);
Spawner();
}
void On_TouchStart (Gesture gesture){
if (gesture.pickObject != null){
Destroy(gesture.pickObject);
StartTime();
}
}
如果有人能带领我走上正轨,我会很感激。
感谢。
答案 0 :(得分:0)
我明白了。事实证明我使用的预制件是不正确的,所以我需要将它们换掉。 感谢那些帮助过的人。