首页 > 解决方案 > 统一保存场景

问题描述

这就是我所拥有的: 在此处输入图像描述

我所有关于玩家、枪支的信息都存储在放置在它们上面的单一行为脚本中。当我按下那个按钮时,scene2 被激活。但是,我应该怎么做才能在下一个场景中“传送”我的玩家?我也想到那里我的用户界面(健康栏,子弹)。我看过一些关于单身的视频,但我不确定这是否是我的情况。有什么建议吗?

标签: c#unity3d

解决方案


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

...
   void Awake()
   {
       DontDestroyOnLoad(gameObject);
       ...
   }
...

这样,如果您的所有变量都存储在此脚本中,它们将被保存,因为它们不会被场景破坏。

这将保存与之关联的游戏对象。如果没有,请为孩子们制作其他变量。然后,添加多个DontDestroyOnLoad(); 在不同的语句中具有不同变量的语句。

(注意:如果你停止游戏或关闭应用程序,这不会保存它。它会通过场景保留值,而不是游戏结束或应用程序关闭。)


推荐阅读