【发布时间】:2023-01-03 02:14:24
【问题描述】:
public Transform[] spawnPoints;
void Awake()
{
spawnPoints = GetComponentsInChildren<Transform>();
}
public void Spawn()
{
GameObject enemy = GameManager.instance.objectManager.Get(GameManager.instance.objIndex);
enemy.transform.position = spawnPoints[Random.Range(1,spawnPoints.Length)].transform.position;
enemy.GetComponent<Enemy>().Init(GameManager.instance.spawnData[GameManager.instance.level]);
}
我从特定位置召唤了一个怪物。 我想创建一个函数来防止在销毁特定对象时在该位置创建怪物,但我尝试了 Transform.RemoveAt(0) 并且这是不可能的。 以Transform[]的形式从数组中移除元素是不可能的吗?
我的 Unity 技能非常初级。 我试过 Transform.Remove(0)。 但是,这不可能
【问题讨论】:
-
那里有一些错误。例如,为什么要从 1 随机到数组的长度?数组从 0 开始,元素的实际数量是 length - 1。另外,既然你是随机生成的,你不希望之前使用的生成点消失吗?第三,为什么总是要在0处移除? (再次与随机冲突)。
标签: unity3d