C# 统一保存场景

C# 统一保存场景,c#,unity3d,C#,Unity3d,这就是我所拥有的: 我所有关于玩家的信息,枪都存储在放置在枪上的单行为脚本中。当我按下该按钮时,场景2被激活。但是,我应该如何在下一个场景中“传送”我的玩家?我还想将我的UI(healthbar,子弹)放到那里.我看过一些关于单身汉的视频,但我不确定这是否是我的情况。有什么建议吗?你应该使用DontDestroyOnLoad()。这就是它所说的。基本上,加载新场景时不会破坏游戏对象。您应该从其他场景中删除播放器预设,并将其放入播放器脚本中: 。。。 无效唤醒() { DontDestroyOn

这就是我所拥有的:


我所有关于玩家的信息,枪都存储在放置在枪上的单行为脚本中。当我按下该按钮时,场景2被激活。但是,我应该如何在下一个场景中“传送”我的玩家?我还想将我的UI(healthbar,子弹)放到那里.我看过一些关于单身汉的视频,但我不确定这是否是我的情况。有什么建议吗?

你应该使用
DontDestroyOnLoad()
。这就是它所说的。基本上,加载新场景时不会破坏游戏对象。您应该从其他场景中删除播放器预设,并将其放入播放器脚本中:

。。。
无效唤醒()
{
DontDestroyOnLoad(游戏对象);
...
}
...
这样,如果您的所有变量都存储在此脚本中,它们将被保存,因为它们不会在场景中被销毁

这将保存游戏对象的子对象。如果没有,则为孩子们创建其他变量。然后,添加多个DontDestroyOnLoad();在不同语句中使用不同变量的语句

(注意:如果您停止游戏或关闭应用程序,这将不会保存该值。它将在整个场景中保留这些值,而不是在游戏结束或应用程序关闭时保存。)

。。要么使用,要么使用。。。也看到