使用 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 个问题,需要锁定选择的场景在执行播放。