的我正在使用此代碼從一個陣列產生一個隨機對象:數組索引超出範圍錯誤
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