我想在步骤脚本中随机设置活动1索引。计数= 2,随机将继续显示,但它不工作。
我的代码:
public class Step
{
public string stepName;
public GameObject[] objects;
}
public void AddCount()
{
Count++;
if (Count == 2)
{
nextStep();
Count = 0;
}
}
public void nextStep()
{
for (int i = 0; i < _steps.Count; i++)
{
int ranI = Random.Range(0, _steps.Count - 1);
_steps[ranI].objects[i].SetActive(true);
}
}
谢啦,谢啦
1条答案
按热度按时间k75qkfdt1#
您是否确定每个步骤包含的对象数至少与
_steps
列表本身中的步骤数一样多...?访问
在我看来毫无意义。
听起来您更希望选择一个随机步骤,然后启用所有相应的对象。
为了也禁用当前步骤,我将保留该信息,例如
我个人甚至会将循环抽象为
Step
类本身而是存储
Step
并执行因为通过这种方式,您还可以排除当前步骤,这样您就不会在一行中随机选取相同的索引两次。或者甚至确保每个步骤只选取一次,直到所有步骤都显示出来,等等