c# - 在 Unity 中将运行时实例化的对象从一个场景加载到另一个场景
问题描述
我正在创建一个游戏,玩家在“设置”场景中创建对象(块),然后当计时器结束时,我希望将这些对象(包括它们的变换值)加载到新场景中。我将如何将运行时创建的对象加载到新场景中?
解决方案
DontDestroyOnLoad 是实现这一目标的一种有价值的方法。您还可以执行以下操作:
创建一个名为“Cross-Scene-Objects”的空对象并向其添加脚本,使其不会在加载时破坏。然后简单地将任何对象添加到该对象,并删除您认为合适的对象。
您还可以使 CrossSceneObjects 脚本成为一个单例类,并使用一些基本的 AddObject 和 RemoveObject 方法来处理将游戏对象置于对象之下。
如果您只想要某些场景中的某些对象,您可以使用上面的方法,但如果您在希望它们出现的场景中,请添加一些进一步的逻辑来设置游戏对象处于活动状态。
我没有示例代码,但如果这还不足以让您完成工作,我可以愉快地编辑以提供代码示例 :) 我的风格是首先提供解决方案步骤而不是代码来为您提供起点。
推荐阅读
- vue.js - Vue组件正在渲染但页面为空白。我可以通过检查页面来查看代码
- java - Spring Webflux webclient 出现问题,尝试发送发布请求时没有任何反应
- typescript - 在 TSConfig baseUrl 中使用相对 unix 主路径(波浪号“~”)?
- amazon-web-services - istio - 使用 vs 服务和 gw 代替负载均衡器不起作用
- azure-devops - 构建和部署具有相同版本的管道
- swagger - Slate 和 Swagger 会在什么场景下一起使用?
- php - 一条记录在 PHP 中的数据库中保存为两个或多个
- http-post - Indy HttpClient.Post 在为发布而构建但不在调试时给出范围检查错误 - 为什么?
- java - 如何在操作栏上隐藏和显示菜单项
- html - 如何为具有填充的图像添加边框?