我一直在Unity3D开发板式游戏。主要场景是电路板,并且有关于每个播放器的数据以及存储在其中的当前(随机生成的)电路板。
我打算在游戏中添加迷你游戏,例如登陆棋盘上的特定空间时。当然,我想在一个单独的场景中编写迷你游戏。有没有办法可以做到这一点而不会丢失当前场景的实例,以便保持当前场景的状态?
提前致谢:)
答案 0 :(得分:3)
简短回答:不,但可能有另一种方法可以做你想做的事。
对Application.LoadLevel
调用的基本调用将在加载下一个场景之前销毁当前场景。这不是你想要的。
如果您的迷你游戏相对简单,您可以使用Instantiate
引入一个预制件,并将其远离场景的其他部分。您甚至可以使用脚本切换到另一个摄像头,切换播放器控件和场景中的其他交互,等等。小游戏完成后,你可以销毁或禁用你带来的任何内容,并重新启用主场景中需要启用的任何内容。
您可以创建一个单独的场景并调用Application.LoadLevelAdditive
来加载场景,而不用销毁当前场景。如上所述,您可以使用脚本来管理哪些摄像机和场景行为处于活动状态。
如果你小心,你真的不需要两个单独的场景。它可能足以“伪造”场景切换。
答案 1 :(得分:1)
很难在没有代码的情况下给出完整的答案,但是您应该使用unity文档或youtube来查看以下内容: