【发布时间】:2019-01-12 05:48:45
【问题描述】:
我预计这个对象会在超过数组的数量后自行销毁,但是,它会抛出一个 ArrayOutOfBounds。我想知道有没有办法解决这个问题。
我也试过了:
if (ObjectSprite[spriteNumber + 1] == null)
我预计这会起作用,但我是开发新手,所以我被困在这里
public class DestroyableObject : MonoBehaviour {
public GameObject coin;
public int spriteNumber = 0;
public Sprite[] ObjectSprite;
void Update ()
{
SpriteUpdate();
}
void SpriteUpdate()
{
this.GetComponent<SpriteRenderer>().sprite = ObjectSprite[spriteNumber];
if (spriteNumber > ObjectSprite.Length)
{
Instantiate(coin, this.transform.position, Quaternion.identity);
Destroy(this.gameObject);
}
}
}
【问题讨论】:
-
您能否编辑您的答案并包含您收到的实际错误消息。
-
仅供参考,您的变量名不应以大写字母开头。只有类名(又名:类型)应该这样命名。变量应始终以小写字母开头,以免意外与类名发生冲突。
public Sprite[] objectSprite;