目前我正在使用Application.load()来更改场景,它在Unity中运行良好。当我将它构建到移动平台并进行测试时,只有在那个场景中我无法更改为特定的场景。
例如,gameplayScene,levelSelectionScene,mainMenu。我可以将场景从mainMenu更改为levelSelectionScene,然后更改为gameplayScene。由于未知原因,我无法从gameplayScene返回levelSelectionScene而我可以从gameplayScene将场景更改为mainMenu。 下面是来自gameplayScene
的levelSelectionScene按钮的示例代码 private void OnClick ()
{
Debug.Log ("clicked");
if (PlayerPrefs.GetInt("SanguineDifficultyAchieved") == 1)
{
Debug.Log("Entering Difficulty");
m_Owner.SetActive ();
}
else
{
Debug.Log("Exiting");
State.Current = State.NotInGame;
Application.LoadLevel(scene.name);
}
m_Owner.close ();
我不明白为什么它适用于Unity调试器,但它在移动平台上不起作用。
我尝试使用数字代替字符串,但效果很好。但我仍然不明白原因。
答案 0 :(得分:0)
终于得到了答案。这些场景似乎相互碰撞,因为我使用了Asset Bundle中的场景和构建设置中添加的场景。这就是我使用Application.Load(int number)的原因,因为我只能从构建设置访问场景。