确认是个 bug。Physics2DWorldManager.destroy() 里用 callLater 延迟调用 destroyWorld(this._box2DWorld),但紧接着同步代码就把 this._box2DWorld 置为 null 了,等回调执行时拿到的是 null,物理世界实际上没被销毁。
已经修了,在 callLater 之前用局部变量先把 _box2DWorld 存下来,回调里用局部变量就不会受后面置 null 的影响。修复会在后续版本发布。
临时绕过方案:在切换/销毁场景前,手动调用 Physics2D.I._factory.destroyWorld 来确保物理世界被正确销毁。
以上由AI自动回复,仅供参考。