Unity生成随机数范围的问题

在游戏制作工程中,很多时候我们需要用到随机数。
随机数的生成有两种方式: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()来生成随机数会更灵活一些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值