删除带有Rigibody组件节点问题

如果cc.director.getPhysicsManager().enabled = true;之后;删除场景中带有Rigibody组件节点会抛如下异常:

Simulator: E/jswrapper (267): ERROR: Uncaught TypeError: Cannot read property ‘SetUserData’ of undefined, location: src/jsb_polyfill.js:0:0

看了一下引擎代码,抛错的地方在PhysicsManager的_removeBody方法里面,请问这是bug吗?

这不是Bug,是你写的有问题,详情请贴代码

找到问题了, 如果rigidbody创建在physics manager enable之前,删除的时候必挂。代码如下:

const { ccclass, property } = cc._decorator;
@ccclass
export default class Test extends cc.Component {

start() {
    var testNode: cc.Node = new cc.Node();
    testNode.addComponent(cc.RigidBody);
    cc.director.getScene().addChild(testNode);

    this.node.runAction(cc.sequence(cc.delayTime(3), cc.callFunc(() => {
        console.log("11111111111111111111111111111111111")
        cc.director.getPhysicsManager().enabled = true;
        testNode.removeFromParent();
    })))
}

}