该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
private GameObject playerSprite;
public GameObject [] playerHeroSprite;
private int index = 0;
void Update() {
ChangeCharacter();
}
void ChangeCharacter()//角色切换
{
if (Input.GetKeyDown(KeyCode.R))
{
index ++;
if (index >=playerHeroSprite .Length )
{
index = 0;
}
}
switch (index )
{
case 0:
{
if (playerHeroSprite[0] ) // 这里显示数组下标越界
{
playerHeroSprite[0].SetActive(true );
playerSprite = playerHeroSprite[0];
Debug.Log("Hero0");
playerHeroSprite[1].SetActive(false);
playerHeroSprite[2].SetActive(false);
}
} break;
case 1:
{
if (playerHeroSprite[1])
{
playerHeroSprite[1].SetActive(true);
playerSprite = playerHeroSprite[1];
Debug.Log("Hero1");
playerHeroSprite[0].SetActive(false);
playerHeroSprite[2].SetActive(false);
}
} break;
case 2:
{
if (playerHeroSprite[2])
{
playerHeroSprite[2].SetActive(true);
playerSprite = playerHeroSprite[2];
Debug.Log("Hero2");
playerHeroSprite[1].SetActive(false);
playerHeroSprite[0].SetActive(false);
}
} break;
default:
break;
}
}
脚本可以正常运行,但是出红色警报,求教究竟是什么问题?我该怎么修改?求大神指点,谢谢!
IndexOutOfRangeException: Array index is out of range.
这是错误代码