我有这个脚本:
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 ....但是它不能工作为什么?
答案 0 :(得分:1)
要使SceneManager正常工作,您需要将场景添加到构建索引中。你这样做:
档案 - >构建设置 - >添加开放场景
之后你可以打电话给SceneManager.LoadScene("NameOfScene")
,或者如果你想要加载下一级你可以写
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
加载构建索引列表中的下一个场景。
答案 1 :(得分:0)
根据Unity Docs,Random.Range
...
返回介于min [包含]和max [独占]
之间的随机int数
这意味着您必须Random.Range(1,5)
才能获得第四个if
。
希望能解决它!
P上。 S.您应该使用switch(number)
代替if
块。