设置PhysicsSystem2D.instance.debugDrawFlags报错

我是想实现一个开关,用来显示和隐藏物理debugDraw,
1、第一次
PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
2、第二次
PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.None;
3、第三次
PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape;
这时候就会报错。
image

哪个版本?

3.8.5
看了下源码,
在设置PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.None的时候
image
再次设置PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Shape,


就报错了。

请问,我需要怎么做,才能避免上述的报错呢?

可以不设置为None,设置为另外一个枚举。

就是因为当 debugDrawFlags 设置为 EPhysics2DDrawFlags.None 时,
只把 _debugGraphics.node.parent 设为 null,但 _debugGraphics 对象本身仍然保留。
可以在设置为None的同时手动直接销毁节点,我还是觉得引擎出现这种问题早改修了留到4.0。。

PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.None
// @ts-ignore
PhysicsSystem2D.instance.physicsWorld._debugGraphics?.node.destroy()