项目在切换场景或者是关闭Unity运行界面的时候,出现Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)错误。原因是我在一个不销毁的单利里面,定义了一个事件,在外部去注册这个事件。
原因:
在A脚本(单例)中定义了事件,在B脚本中注册了A的事件,退出游戏时物体的销毁是随机的,A在B之前被销毁,B在销毁前调用OnDestroy(),此时A已经被销毁,作为单例被调用时重新创建了新物体,因此发生报错:在OnDestroy中创建了物体。