2.0中box2d 碰撞回调函数中设置碰撞体属性报错

在碰撞的回调函数中设置刚体的刚体类型,位置,角度…等属性时报错。

box2dTest.zip (577.6 KB)

碰撞的时候就是不能同时修改位置旋转这些,有限制

是的,锁定了,需要在Step后去操作

还有刚体的属性type类型;不能动态修改 (备注:官方这么说的);

楼主不妨试试这2个方法: 不要同步
xxx.getComponent(cc.RigidBody).syncPosition(false);
xxxx.getComponent(cc.RigidBody).syncRotation(false);

谢谢哦,
设置syncPosition是没用的,他的参数是enableAnimated 是针对刚体类型是animated时线性速度来代替直接设置刚体的位置的。
syncPosition在刚体位置变化时派发调用

看了下源码,实际上碰撞体在碰撞中是锁定状态,这个时候无法对碰撞体部分影响碰撞逻辑的属性进行调用
比较合适的是在碰撞接触结束时候锁定解除是可以对刚体类型,位置,角度。。。做动态修改的