[英]Array doesnt give an Out of bounds Error Message while picking a Random item C#/Unity
我有一個初學者問題。 為什么此代碼不會導致錯誤消息?
public Tile[] tiles = new Tile[2];
...
SetTile(0, 0, 0, nocollide, tiles[Random.Range(0,2)]);
數組中有兩個項目,但我選擇一個從 0 到 2 的值,即三個項目。 當我達到 0,1 時,它只會選擇第一個項目。 但為什么?
public static int Range(int min, int max);
描述
原因很簡單,返回一個介於 min [ inclusive ] 和 max [ exclusive ] 之間的隨機 integer 數(只讀)。
max 是獨占的。 Random.Range(0, 10) 可以返回 0 到 9 之間的值。
如果要包含最大值,則可以使用以下重載方法。
public static float Range(float min, float max);
描述
返回 min [ inclusive ] 和 max [ inclusive ] 之間的隨機浮點數(只讀)。
max 是包容性的。 Random.Range(0.0f, 1.0f) 可以返回 1.0 作為值。
參考: https://docs.unity3d.com/ScriptReference/Random.Range.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.