我正在尝试创建一个spawner但是我在实际生成对象之前获得了编码的机制,因为我假设这将是更容易的部分。 到目前为止,我已经创建了运行良好的代码,但产卵点严重偏向两个比例中的一个 - 比例为30:1或更高。错误的是严重倾斜的产卵。
$info->meta_value
答案 0 :(得分:1)
首先你的随机数是一个int ...所以你只有10个可能的数字,它可以是... 0到10作为整数。然后你检查它是否小于5或大于5 ...你没有条件,如果 确实是... 5.
这两个选项都不会有十分之一的机会。
这是您不应该使用else if
的原因,而是在这种情况下单独使用else
。
此外,无需搜索0到10之间的数字,您最多可以搜索1 ...试试这个:
System.Random rnd = new System.Random (); // from here is deciding on the position of the spawn after one has been spawned
float num = rnd.Range (0, 1); //random number between 0 and 1
if (num < .5f) {
switchSpawning = false;
Debug.Log ("False");
transform.position = spawnPosition;
} else {
switchSpawning = true;
Debug.Log ("True");
transform.position = spawnPosition2;
}