creator 里想在代码里修改刚体密度 但是不生效

        let coolder = this.node.getComponent(cc.PhysicsBoxCollider);
        console.log("FFFFFFFFFFFF:" + this.node.getComponent(cc.RigidBody).getMass())
        // ResetMassData()
        coolder.density = 1;
        console.log("FFFFFFFFFFFF:" + this.node.getComponent(cc.RigidBody).getMass())
        console.log("DDDDDDDDDDDDDDD:" + coolder.density);

其中 density值已经被修改
但是getMass()值还是没有变 游戏中的表现也是 没有被改变

改变刚体的参数需要调用一个方法去刷新刚体参数才能够被修改,具体方法忘了,你查查资料

rigid 的代码整个撸一边 没有找到 T____T

好像是apply方法
应用当前 collider 中的修改,调用此函数会重新生成内部 box2d 的夹具。

1赞

楼上说得对,是apply方法

2赞

多谢我去试试

感谢—

可以了
在 Collider调用 apply()方法会刷新 shp的动态属性