使用 DontDestroyOnLoad(XX) 实现场景转换,从 A 场景跳转到 B 场景,B 场景传送过去了,A 场景人物依然存在的问题
原因
首先人物数据保存是对的。
创造人物场景放在创建场景里,unity 不会把多余的 Destroy 掉
C# 如下
class SingletonClass : MonoBehaviour {
public static SingletonClass Instance=null;
void Awake ()
{
if(Instance==null)
{
Instance=this;
DontDestroyOnLoad (transform.gameObject);
}
else
Destroy(transform.gameObject);
}
运行场景,出现加载到%,出现 error pause m_ManagersToReset.empty()
函数 m_ManagersToReset.empty() UnityEditor.BuildPipeline:BuildAssetBundle (Object [] BuildAssetBundleOptions) 这个内容在生产环境没解决,编译后是有影响的。
解决方法 1:需要创建 1 个作用当前场景的 C# 在 assets,[MenuItem("Assets/xxx 检查编辑器脚本,每个函数静态的
解决方法 2:你选择的场景脚本不是你所播放的,自带的 1 个问题,需要锁定选择的场景在执行播放。