Application.LoadLevel只工作一次,但不是第二次?

时间:2016-02-18 20:37:09

标签: unity3d unity5

我正在制作一款小游戏,并为它设置了一个主菜单。加载主屏幕后,您可以单击关卡按钮,它将成功加载游戏。 但是,如果我然后返回到主屏幕并尝试重新加载关卡,它会加载但没有任何效果。没有玩家移动,没有AI移动,没有。

我必须加载关卡的代码是:

public GameObject loadingImage;

public void LoadScene(int level)
{
    loadingImage.SetActive(true);
    Application.LoadLevel(level);
}

我使用完全相同的方案回家。

我不太清楚为什么这不符合我的意图。我是否必须首先卸载一个级别或沿着这些线路的东西?我不知道。非常感谢任何帮助。

非常感谢!

注意:此问题现已修复。

错误是由于我的暂停菜单使用Time.timeScale = 0而未将其还原。代码是:

void Awake()
{
    isPause = false;
}
void Update()
{
    if (Input.GetKeyDown(KeyCode.Escape))
    {
        isPause = !isPause;
         if(isPause == true)
        {
            Time.timeScale = 0;
        }
        else
        {
            Time.timeScale = 1;
        }
    }
}

因此,当我现在加载场景时,它确保isPause始终等于false。

1 个答案:

答案 0 :(得分:0)

现在已经回答了这个问题。感谢@andeart的评论。

我遇到的问题是我在暂停游戏时使用Time.timeScale = 0;并且我从未将值返回到1.因此,因为游戏暂停,重新加载时,它仍然暂停。

如果您遇到此问题,请务必检查您是否对我造成类似错误。我不会再做它了。

从技术上讲,Application.LoadLevel按预期工作,但我犯的错误是" Unpausing"游戏。

感谢大家的回复!