在游戏制作工程中,很多时候我们需要用到随机数。
随机数的生成有两种方式:Random.Range() 以及 Random.Value
1.Random.Range();
这个方法可以返回一个float值或者int值,返回值的范围可定义。
几个情况:
(1)float random=Random.Range(0.1f,0.2f),random是否可能为0.1或者为0.2?
分析:这种情况是返回float类型的情况,API描述为Returns a random float number between and min [inclusive] and max [inclusive] (Read Only).左右两边都是inclusive,所以应该是包含左右两边的数,random可能为0.1也可能为0.2。
(2)int random=Random.Range(0,1),random是否可能为0或者为1?
分析:在返回int类型的时候又分为两种情况,两个例子:Random.Range(0,0)以及Random.Range(0,1),也就是min=max和min!=max的情况。API描述为Returns a random integer number between min [inclusive] and max [exclusive] (Read Only). If max equals min, min will be returned. The returned value will never be max unless min equals max.也就是如果min=max,返回min,此时min=max,也就相当于返回了max。除此之外,没有其他情况可返回max,也就是包含左边而不包含右边。
使用Random.Range()时,可根据需求定义随机数范围。
2.Random.Value
Random.Value只能返回float类型。API描述为Returns a random number between 0.0 [inclusive] and 1.0 [inclusive] (Read Only).也就是说只能返回0.0到1.0之间的数,包含左右两边的数。
使用Random.Value不能定义随机数的范围。
综上可知,我们用Random.Range()来生成随机数会更灵活一些。