【发布时间】:2018-12-31 18:11:17
【问题描述】:
关闭游戏并重新打开后,我想加载最后一个场景,这样玩家就可以从他达到的关卡继续。正如您在下面的代码中看到的那样,我尝试使用 PlayerPrefs,但游戏在启动时崩溃。
GameManager 脚本:
bool GameHasEnded = false;
public float RestartDelay = 2f;
public float NextLevelDelay = 5f;
int level_index;
private void Start()
{
level_index = PlayerPrefs.GetInt("Last_Level");
SceneManager.LoadScene(level_index);
}
public void CompleteLevel()
{
Invoke("NextLevel", NextLevelDelay);
level_index = level_index++;
PlayerPrefs.SetInt("Last_Level", level_index);
}
public void EndGame()
{
if (GameHasEnded == false)
{
GameHasEnded = true;
Invoke("Restart", RestartDelay);
}
}
void NextLevel()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex +1);
}
void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().path);
}
}
所有场景都与GameManager链接,它们都有相同的代码来加载下一个场景:
FindObjectOfType<GameManager>().CompleteLevel();
【问题讨论】:
-
崩溃时是否会在日志中打印任何错误?