【发布时间】:2019-10-28 23:01:11
【问题描述】:
我正在尝试以随机模式生成立方体。
首先,一个立方体被生成到世界中。然后生成一个随机数。这个数字决定了下一个立方体的生成位置。我们称它为 cube1 生成 cube1 后,cube2 应该使用 cube1 的位置来生成,但它仍然使用原始立方体的位置。
我不明白为什么。
我已经尝试使用 Debug.Log 来查看不同的位置,但无论我尝试什么,我似乎都无法让它工作。
public class GenerateDungeon: MonoBehaviour {
public GameObject[] cells;
public int number = 0, i = 0;
public void Start()
{
Instantiate(cells[i], new Vector3(0, 0, 0), Quaternion.identity);
while(i < 2)
{
number = Random.Range(1, 5);
i++;
if (number == 1)
{
Instantiate(cells[i], cells[i - 1].transform.position + new Vector3(0, 4, 0), Quaternion.identity);
}
else if (number == 2)
{
Instantiate(cells[i], cells[i - 1].transform.position + new Vector3(4, 0, 0), Quaternion.identity);
}
else if (number == 3)
{
Instantiate(cells[i], cells[i - 1].transform.position + new Vector3(0, -4, 0), Quaternion.identity);
}
else if (number == 4)
{
Instantiate(cells[i], cells[i - 1].transform.position + new Vector3(-4, 0, 0), Quaternion.identity);
}
}
}
}
我没有收到任何错误消息,但它没有按照我的预期工作。
【问题讨论】:
-
您在两次调用中使用相同的随机范围,因此它可以对超过 1 个立方体使用相同的数字。
-
",但它并没有按照我的预期工作。",这对我们来说不是一个很好的诊断吗?