作为标题,我不知道如何让游戏角色穿过game_scene_1到game_scene _2。我触发,可以更改为game_scene_2,但游戏角色仍在game_scene _1上。如何修复?请帮帮我。
虽然您可以像RadiantMin3所描述的那样使用DontDestroyOnLoad,但实际上您可以在场景之间移动对象!https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.MoveGameObjectToScene.html
只需确保额外加载game_scene_2,然后在移动玩家后卸载game_scene _1。示例:
SceneManager.LoadScene(game_scene_2, LoadSceneMode.Additive);
SceneManager.MoveGameObjectToScene(player.gameObject, game_scene_2);
SceneManager.UnloadScene(game_scene_1);
这将加载游戏场景2而不卸载游戏场景1,在加载两个场景时移动玩家,然后卸载游戏场景。
您可以将播放器保存为预制件,并在新场景中使用Start
方法生成它。
或者,如果你有一个链接到玩家的gameobject
,请使用这个:
DontDestroyOnLoad(PLAYER_GO);
如果你没有链接,你可以把它放在播放器的Start
方法上
DontDestroyOnLoad(this.gameObject);