在不同时间和两个随机点产生物体

时间:2015-06-29 17:17:31

标签: c# unity3d

我正在尝试创建一个spawner但是我在实际生成对象之前获得了编码的机制,因为我假设这将是更容易的部分。 到目前为止,我已经创建了运行良好的代码,但产卵点严重偏向两个比例中的一个 - 比例为30:1或更高。错误的是严重倾斜的产卵。

$info->meta_value

1 个答案:

答案 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;
    }