起初,这是我对这个主题最重要的研究:
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html
https://docs.unity3d.com/ScriptReference/SceneManagement.LoadSceneMode.Additive.html
当我从主菜单开始游戏时,我会进入"游戏"现场。游戏场景中有一些带有按钮的游戏菜单。我可以点击"选项"按钮那里。
所以从主菜单开始我用这种方法开始游戏:
public void StartGame()
{
LoadScene("Ingame", LoadSceneMode.Single); // Load the main scene of the game
}
因此,当我打开我的游戏菜单并点击选项按钮时,我称之为
public void LoadOptions()
{
LoadScene("Options", LoadSceneMode.Additive); // Don't destroy the game and load the options menu
}
这很好用,因为它不会破坏游戏场景。但问题是,所有对象都保留在选项场景中。那不是,我所期待的。
如何在没有我的游戏对象的情况下进入选项场景,并在完成选项后返回到游戏场景?
谢谢:)
答案 0 :(得分:2)
完成选项场景后,您可以将活动场景更改回游戏并卸载菜单场景。它看起来像这样。
Scene gameScene = SceneManager.GetSceneByName("Ingame");
SceneManager.SetActiveScene(gameScene);
SceneManager.UnloadSceneAsync("Options");