转换到第二个场景后鼠标点击地面没有反应,报错
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;
}
然后还会报错
继承MonoBehaviour的脚本是挂在游戏对象上的 当游戏对象被销毁时 脚本也会销毁
执行了回调 调用了已经销毁的脚本报错 查查为什么会调用销毁的脚本 是否是因为切换场景时 回调没有取消掉
或者什么其他原因 需要你自己查