如何用“Random.range”生成一个数字来改变场景?

时间:2017-03-14 14:45:59

标签: unity3d random numbers

我有这个脚本:

public class EmpezarJuego : MonoBehaviour {

int number;

public void Empezar() {

    number = Random.Range(1,4);

    if (number == 1) {
        SceneManager.LoadScene ("GAME");
    }
    if (number == 2) {
        SceneManager.LoadScene ("GAME_1");
    }
    if (number == 3) {
        SceneManager.LoadScene ("GAME_2");
    }
    if (number == 4) {
        SceneManager.LoadScene ("GAME_3");
    }



 }
}

我想:如果number = 1,我的场景是GAME,如果number = 2,那么,我的场景是GAME_1 ....但是它不能工作为什么?

2 个答案:

答案 0 :(得分:1)

要使SceneManager正常工作,您需要将场景添加到构建索引中。你这样做:

  

档案 - >构建设置 - >添加开放场景

之后你可以打电话给SceneManager.LoadScene("NameOfScene"),或者如果你想要加载下一级你可以写

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);

加载构建索引列表中的下一个场景。

答案 1 :(得分:0)

根据Unity DocsRandom.Range ...

  

返回介于min [包含]和max [独占]

之间的随机int数

这意味着您必须Random.Range(1,5)才能获得第四个if

希望能解决它!

P上。 S.您应该使用switch(number)代替if块。