2D物理设置刚体位置不生效

创建了一个2Dnode 绑定了rigibody和collider,设置node位置没有生效,无论是node节点还是刚体的位置都没有改变,搜了下文档,很多人都问过但是没有解决办法么?

有清楚的大佬么

let rig = node.getComponent(cc.RigidBody);
rig && rig.syncPosition(false);

3.6.2 用的RigiBody2D 没有syncPosition这个属性

我用setWorldPosition设置节点的位置有效

好的 感谢 我试下

解决了吗?

没解决,这个问题很奇怪

cocos creator 版本 3.8.5,我也遇到了这个问题,最后发现只需要在 node 的 update 函数里设置刚体位置就能行。

此前,我订阅了 BEFORE_DRAW 事件(director.on(DirectorEvent.BEFORE_DRAW, this.beforeDraw, this); ),然后我在回调函数里修改刚体位置,这样子好像就不太行。

官网文档里说过,

静态刚体,零质量,零速度,即不会受到重力或速度影响,但是可以设置他的位置来进行移动。该类型通常用于制作场景

官网文档都说行,那理论上就应该是行才对。有些时候设置位置不生效,我猜可能是由于物理引擎同步刚体位置的机制?