c# - 需要澄清单例+游戏对象
问题描述
我对此仍然有些迷茫。基本上我想在多个场景中都有一个持久的游戏对象。这个游戏对象将代表玩家头像。它使用预制件显示。
我尝试将单例脚本添加到我的登录场景控制器中。我有一个public GameObject
类参数,但它没有出现在检查器中,所以我可以把预制件放进去。也许我弄错了。
另外,假设我正在测试一个场景。由于单例是在登录场景中初始化的,考虑到在测试期间我什至不会加载登录场景,我如何将这个全局游戏对象预制件放入我正在测试的新场景中?
我想我只是超级困惑。我想要的只是能够使用 1 个代表玩家“头像”的脚本,包括用于显示它的预制件,并让它在整个游戏中持续存在。这可能吗?另外,当我在测试场景并且没有调用包含单例的场景时,如何获取它?
感谢任何可以帮助我的人。
解决方案
基本上我想在多个场景中都有一个持久的游戏对象。这个游戏对象将代表玩家头像。
DontDestroyOnLoad
在应该在多个场景中持续存在的对象上使用。
如果您正在加载将 Object 设置为 的同一场景,请小心DontDestroyOnLoad
,因为它将创建另一个具有DontDestroyOnLoad
. 这篇文章谈到了它。
编辑(感谢yes),检查此答案中的评论。
(根据您的需要,您还可以选择更多选项,Hugo 在这篇文章中的回答有。)
我尝试将单例脚本添加到我的登录场景控制器中。我有一个公共 GameObject 类参数,但它没有显示在检查器中,所以我可以将预制件放入。也许我弄错了。
显示一些代码?很难准确地说出什么是错的。
可能是您忘记将脚本拖到游戏对象中,或者该类是静态的,等等。
推荐阅读
- android - 如何在putExtra中添加多个字符串
- sql-server - T-SQL 处理无结果
- c# - UserDialog 进度条不显示
- php - 重写查询字符串以允许 wordpress 中单个自定义帖子类型的多个 URL
- c++ - 带有 std::quoted 的 Visual Studio 中的错误
- r - RandomForest没有计算OOB错误
- ruby-on-rails - 2 分钟 Rails/AngularJS 后 SSO/SAML 会话超时
- html - 填充整页 div,每边减去填充
- javascript - 为什么javascript不能逐行运行
- react-native - 如何在加载数据时同时渲染 FlatList 的 listItem?