public void SwitchWeapon(int index)
{
Debug.Log(index);
foreach(GameObject weapon in weapons)
{
weapon.GetComponent<Renderer>().enabled = false;
}
pc.weapon = weapons[0];
weapons[index].GetComponent<Renderer>().enabled = true;
}
这段代码应该将pc.weapon(a gameobject)
设置为weapons[0]
,这是一个游戏对象列表,但是它抛出了一个indexoutofbounds错误。
当我在列表上运行debug.log
时,它返回[]
,但当我运行debug.log(weapons[0].name)
时,它返回正确的名称。我尝试从数组切换到列表,但这没有改变任何东西。
1条答案
按热度按时间hgqdbh6s1#
你可以在获取武器物品之前添加一个if语句,比如: