我正在开发一个应用程序,它可以作为公共场所一小部分的GPS。简而言之,在我的Map上,我有这个地方的位置(房间)的对象。
我不希望在场景切换时这些对象被破坏,因为否则我必须将它们重新加载到列表中,然后从数据库中更改它们的名称和颜色。但我无法让它工作,肯定我做错了什么,但我不知道是什么。
我有那些对象(大约有300个),每个对象都有相同的脚本(正确的那个)
private void Awake()
{
{
{
DontDestroyOnLoad(this.gameObject);
AulaDatabase.addAula(this);
}
}
}
这就是代码,我知道每次我进入场景时都会添加对象,我已经记住了这一点,问题是它们总是被销毁。
我也尝试过创建一个不同的脚本并将其添加到所有这些对象的父容器中,但也没有成功。
应该注意的是,对于不同的对象和另一个脚本,我使用了DontDestroy,它工作了,但是对于这些对象,它不工作了,我做错了什么?
1条答案
按热度按时间qyswt5oh1#
由于DontDestroyOnLoad仅适用于根GameObject或根GameObject上的组件,因此在屏幕截图中,这些对象位于NavigationNames对象下,使方法无法生效,您可以从https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html中找到该文档。