Unity3D在固定位置生成2d对象
本文关键字:2d 对象 位置 定位 Unity3D | 更新日期: 2023-09-27 18:18:38
我有一个对象,当点击它被销毁,并在计时器上随机在其他地方生成。我想让它出现在固定的位置,而不是随机的点。
我还希望它们在固定的时间间隔内随机生成,一次一个。(所以如果它出现在一个位置,比如说5秒,它将被销毁,下一个将出现在不同的位置。)
我试图做固定产卵位置,但无效产卵者不想工作。
我得到一个"类型为"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();
}
}
如果有人能给我指路,我会很感激的。
谢谢。
我明白了。原来我用的预制件是不正确的,所以我需要把它们换成正确的。感谢那些帮助过我的人。