数组索引超出范围,需要一些帮助!
oid OnCollisionEnter2D(Collision2D col) {
rigidbody2D.velocity = new Vector2(0, 0);
transform.rotation = Quaternion.Euler (0, 0, headDownAngle);
if(!isDied) {
audios[1].Play();
animator.SetTrigger("dead");
iTween.ShakePosition(Camera.main.gameObject, new Vector3(0.3f, 0.3f, 0), 0.5f);
}
isDied = true;
isPlaying = false;
答案 0 :(得分:0)
我没有看到任何其他数组被使用(除非你的其他一个函数使用数组)所以看起来这行导致错误:
audios[1].Play();
记住数组是基于零的,所以数组中的第一个位置实际上是0,所以如果你试图得到第一个元素:
audios[0].Play().
如果您尝试获取第二个元素,请确保音频有2个元素。
答案 1 :(得分:0)
数组索引超出范围是当您尝试使用不存在的数组部分时引起的错误 例子
float numOfTests = 2;
AudioSource[numOfTests] tests;
void Start()
{
tests[3].play();
}
由于阵列中只有2个音频源,我们可以访问第三个音频源,因为它不存在。
我希望这会有所帮助。我曾经以统一的方式编写代码,然后转移到c ++并编写了自定义引擎,因此,如果我的回答不能解决问题,那可能是因为我一年没有使用统一了。