C# 无法将索引[]应用于GameObject类型的表达式
我在我的场景中有3个空的游戏对象,我正试图在它们上面生成对象,我编写了这个脚本,在生成对象之间有一个RNG值 我遇到了一个问题,我不太确定如何解决它C# 无法将索引[]应用于GameObject类型的表达式,c#,unity3d,C#,Unity3d,我在我的场景中有3个空的游戏对象,我正试图在它们上面生成对象,我编写了这个脚本,在生成对象之间有一个RNG值 我遇到了一个问题,我不太确定如何解决它 public class Spawns : MonoBehaviour { public GameObject SpawnedObject; public bool StopSpawn = false; public float SpawnTime; public float SpawnDelay; public GameObject[] Sp
public class Spawns : MonoBehaviour
{
public GameObject SpawnedObject;
public bool StopSpawn = false;
public float SpawnTime;
public float SpawnDelay;
public GameObject[] SpawnPoints;
int Randomint;
// Start is called before the first frame update
void Start()
{
InvokeRepeating("SpawnObjects", SpawnTime, SpawnDelay);
}
public void SpawnObjects()
{
Randomint = Random.Range(0, SpawnPoints.Length);
Instantiate(SpawnedObject[Randomint], transform.position, transform.rotation);
if (StopSpawn)
{
CancelInvoke("SpawnObjects");
}
}
}
您正在尝试对单个游戏对象引用使用索引 由于您使用SpawnPoints.Length拾取随机值,并且根据您的描述,实际上您更希望获得数组SpawnPoints的一个元素 你说得再进一步 我的场景中有3个空的游戏对象,我正试图在上面生成对象 但这不是你的代码会做的 你可能更想使用
Instantiate(SpawnedObject, transform.position, transform.rotation, SpawnPoints[Randomint].transform);
在您的具体情况下,请参阅和
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);
第一个参数是要生成的原始预设/对象,最后一个参数是要生成到的可选父变换
您可能还需要重新考虑为位置和旋转提供的值。。是否确实要在脚本附加到的对象的位置和旋转处生成对象?您是否希望它们在相应繁殖点的位置和旋转处繁殖 我遇到了一个问题什么问题?感谢您的解释,现在更有意义了: