我正在使用隨機範圍來選擇一種敵對類型來產卵。Random.Range每次調用都不改變它的結果,爲什麼?
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
}
當安裝與調試團結,我可以看到randAmount
每個協同程序被調用時,但是randType
並沒有從0變爲變化,我一直在測試一遍又一遍,我開始思考它不再是運氣不好。
我知道第一個變量工作正常,無論如何要確保第二個工作正常,或者每次調用協程時獲得0到1之間的隨機數的替代方法。
'靜態函數範圍(min:int,max:int):int' 描述 返回min [inclusive]和max [exclusive](只讀)之間的隨機整數。 – Hristo
@OmBiEaTer,我不認爲他們數上限數,所以你必須去+1 – EpicKip
'Random.Range(0,2)' – InBetween