创建了一个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); ),然后我在回调函数里修改刚体位置,这样子好像就不太行。
官网文档里说过,
静态刚体,零质量,零速度,即不会受到重力或速度影响,但是可以设置他的位置来进行移动。该类型通常用于制作场景
官网文档都说行,那理论上就应该是行才对。有些时候设置位置不生效,我猜可能是由于物理引擎同步刚体位置的机制?