
Unity 中的随机范围函数有 2 个重载方法,Random.Range(int, int) 和 (float, float)。他们都可以相同的方式工作,通过接受最小值和最大值来返回随机浮点数或两个数字之间的随机整数。
只是 Unity 认为随机范围的上限会有所不同,具体取决于自己获得的是浮点数还是整数。
例如,当获取随机浮点数时,传入的最小值和最大值包括范围,这意味着,如果传入 0 和 10,则可以返回 0 或 10,以及介于两者之间的所有值。
//返回一个介于 -10 和 10 之间的数字(包括 -10,包括 10)
float randomFloat = Random.Range(-10.0f, 10.0f)
然而,当得到一个随机整数时,虽然最小值是包含在内的,就像浮点数一样,最大值则会直接排除。那么在使用整数时传入 1 和 10,可以返回 1 到 9 之间的任何值,但不能返回 10。
//返回一个介于 1 和 9 之间的数字(包括 1,不包括 10)
int randomInt = Random.Range(1, 10);
因此俩函数虽然都以相同的方式工作,但都有一个过载,其操作略有不同而已,尤其是在最大范围方面。