同时打开多个统一场景

时间:2015-05-20 20:55:01

标签: unity3d scene simultaneous

我一直在Unity3D开发板式游戏。主要场景是电路板,并且有关于每个播放器的数据以及存储在其中的当前(随机生成的)电路板。

我打算在游戏中添加迷你游戏,例如登陆棋盘上的特定空间时。当然,我想在一个单独的场景中编写迷你游戏。有没有办法可以做到这一点而不会丢失当前场景的实例,以便保持当前场景的状态?

提前致谢:)

2 个答案:

答案 0 :(得分:3)

简短回答:不,但可能有另一种方法可以做你想做的事。

Application.LoadLevel调用的基本调用将在加载下一个场景之前销毁当前场景。这不是你想要的。

如果您的迷你游戏相对简单,您可以使用Instantiate引入一个预制件,并将其远离场景的其他部分。您甚至可以使用脚本切换到另一个摄像头,切换播放器控件和场景中的其他交互,等等。小游戏完成后,你可以销毁或禁用你带来的任何内容,并重新启用主场景中需要启用的任何内容。

您可以创建一个单独的场景并调用Application.LoadLevelAdditive来加载场景,而不用销毁当前场景。如上所述,您可以使用脚本来管理哪些摄像机和场景行为处于活动状态。

如果你小心,你真的不需要两个单独的场景。它可能足以“伪造”场景切换。

答案 1 :(得分:1)

很难在没有代码的情况下给出完整的答案,但是您应该使用unity文档或youtube来查看以下内容:

  • PlayerPrefs,这是一种保存数据的方法,虽然我认为它不是完全安全的,即能够从文本文件进行编辑。
  • Serializable,这显然比playerprefs好。
  • DonDestroyOnLoad,可以将信息传递给多个场景。
  • 静态变量,再次不确定这是否有助于解决您的特定问题。