我看到了libgdx MathUtils.randomBoolean(chances)
,我想这会对我有所帮助,但我不确定。
MathUtils.randomBoolean(10); // I'm not sure if this will give 10% chance?
答案 0 :(得分:4)
MathUtils.randomBoolean(float chance)
给出true
参数给出的概率。但参数chance
可以在0 - 1
之间取值,这意味着例如0.1
会给10%
(0.1
}返回true
的概率。< / p>
您的示例 - 10
- 总是会true
,因为它比1
更大。
答案 1 :(得分:3)
关于MathUtils
:
<强> randomBoolean 强>
public static boolean randomBoolean(float chance)
如果0和1之间的随机值小于指定值,则返回true。
这意味着如果指定一个数字(作为参数传递),如果随机生成的数字(介于0和1之间)小于传递的chance
,则该方法将返回true。在这种情况下,它将是:
MathUtils.randomBoolean(0.1);
这是因为0.1是10%,或10/100。因此,0到1之间的随机数(如果小于0.1)将导致该方法返回true。
您之前的代码始终返回true ,因为0到1之间的数字始终小于10.