OmB*_*TeR -2 c# random delegates unity-game-engine
我使用随机范围来选择产生的敌人类型之间.
IEnumerator Spawn()
{
int randAmount = UnityEngine.Random.Range(minAmount, maxAmount); // Determine quantity of enemies to be spawned
int randType = UnityEngine.Random.Range(0, 1); // Determine which enemy is spawned
enemies[randType](randAmount); // Call enemy type, then amount
yield return new WaitForSeconds(spawnRate);
StartCoroutine(Spawn()); // Loop
}
Run Code Online (Sandbox Code Playgroud)
当与调试器连接到统一时,我可以看到randAmount每次调用协程时都会发生变化,但是randType从0开始没有变化,我一直在测试,我开始认为它不再是运气不好.
我知道第一个变量工作正常,无论如何确保第二个变量正常工作,或者每次调用协程时获取0到1之间的随机数的替代方法.
Unity的Random.Range第二个参数是独占的,这意味着Unity不包含它.它包括max-1.
如果要在0和之间生成随机数1,则必须传递2给第二个参数.那应该是Random.Range(0, 2).