的我正在使用此代码从一个阵列产生一个随机对象:数组索引超出范围错误
using UnityEngine;
using System.Collections;
public class enemySpawner : MonoBehaviour {
public GameObject[] enemies;
int enemyNo;
public float maxPos = 6.9f;
public float delayTimer = 0.75f;
float timer;
void Start() {
timer = delayTimer;
}
void Update() {
timer -= Time.deltaTime;
if (timer <= 0) {
Vector3 enemyPos = new Vector3 (transform.position.x, Random.Range (5.0f, -5.5f), transform.position.z);
//enemyNo = Random.Range (0,8);
enemyNo = Random.Range (0, enemies.Length);
Instantiate (enemies[enemyNo], enemyPos, transform.rotation);
timer = delayTimer;
}
}
}
的问题是我想做的事情在不同的场景一样的东西。每个场景都有针对阵列的不同量的对象(在检查器中设置),这样因为他们不都是一样的,我得到这个错误:
IndexOutOfRangeException: Array index is out of range.
有没有办法为我做到这一点不同?或者我应该为每个场景编写一个新脚本?
你在初始化敌人数组? – JoaoFSA
@JoaoFSA Unity有一个Inspector,你可以初始化公共变量。 – DogeAmazed
不知道在Unity中是否可以使用,但是可以使用“列表”而不是Array吗? –
PoweredByOrange