将其构建到移动设备后,无法更改为Unity中的特定场景

时间:2015-05-08 03:42:23

标签: unity3d

目前我正在使用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调试器,但它在移动平台上不起作用。

更新1

我尝试使用数字代替字符串,但效果很好。但我仍然不明白原因。

1 个答案:

答案 0 :(得分:0)

终于得到了答案。这些场景似乎相互碰撞,因为我使用了Asset Bundle中的场景和构建设置中添加的场景。这就是我使用Application.Load(int number)的原因,因为我只能从构建设置访问场景。