【发布时间】:2016-12-16 07:51:36
【问题描述】:
在 Unity3d 上的游戏中,我有很多场景,现在我正在处理保存/加载游戏。我可以保存游戏,但如果我想加载它,我需要加载我需要的场景,然后加载所有其他参数。
或者我应该先加载所有参数,用DontDestroyOnLoad()保存,然后加载我需要的场景?
public void ButtonSave()
{
PlayerPrefs.SetFloat("transform position x" + currentActiveSlot, playerTransform.position.x);
PlayerPrefs.SetInt("task 1 completed" + currentActiveSlot, isTask1Completed);
PlayerPrefs.SetInt("latestSaveSlot", latestSaveSlot);
PlayerPrefs.SetInt("act number" + currentActiveSlot, 0);
PlayerPrefs.SetInt("step number" + currentActiveSlot, 0);
PlayerPrefs.SetString("sceneName" + currentActiveSlot, SceneManager.GetActiveScene().name);
PlayerPrefs.Save();
}
public void ButtonLoad()
{
playerTransform.position = new Vector3(PlayerPrefs.GetFloat("transform position x" + currentActiveSlot),
PlayerPrefs.GetFloat("transform position y" + currentActiveSlot),
PlayerPrefs.GetFloat("transform position z" + currentActiveSlot));
isTask1Completed = PlayerPrefs.GetInt("task 1 completed" + currentActiveSlot);
//gameManager.currentActNumber = PlayerPrefs.GetInt("act number" + currentActiveSlot);
//act_2.stepNumber = PlayerPrefs.GetInt("step number" + currentActiveSlot);
//SceneManager.LoadScene(PlayerPrefs.GetString("sceneName" + currentActiveSlot));
}
【问题讨论】: