unity场景转换后的问题

转换到第二个场景后鼠标点击地面没有反应,报错

img


然后改代码,原来这段代码是


 void Start()
        {
        MouseManger.Instance.OnMouseClicked += MoveToTarget;
        MouseManger.Instance.OnEnemyClicked += EventAttack;
        GameManager.Instance.RegisterPlayer(characterStats);                                    
         }

改成了


void OnEnable()
      {
        MouseManger.Instance.OnMouseClicked += MoveToTarget;
        MouseManger.Instance.OnEnemyClicked += EventAttack;
      }

void Start()
        {
        GameManager.Instance.RegisterPlayer(characterStats);                                    
         }
    
   void OnDisable()
       {
        if (!MouseManger.IsInitialized) return;
        MouseManger.Instance.OnMouseClicked -= MoveToTarget;
        MouseManger.Instance.OnEnemyClicked -= EventAttack;
       }

然后还会报错

img


有没有哪位知道是哪的问题。。

继承MonoBehaviour的脚本是挂在游戏对象上的 当游戏对象被销毁时 脚本也会销毁
执行了回调 调用了已经销毁的脚本报错 查查为什么会调用销毁的脚本 是否是因为切换场景时 回调没有取消掉
或者什么其他原因 需要你自己查