我正在使用 body.setTransform 来移动我的一些对象。 我知道这很糟糕,但这正是我的情况所需要的方式 - body 遵循一定的路径。当这样的 body 被子弹击中时 它停止在路径上移动(不再调用 body.setTransform()) 它让物理学发挥作用。
问题是有时 body 会崩溃 - 看起来就像 接触力等应用于不同的主体值(坐标等)。 结果,它开始旋转,苍蝇抛出其他物体。
这显然是body.setTransform()的问题,因为当我转动 走上脱离所有物理的道路是很好的。我的谷歌调查结果也证实了这一点 body.setTransform() 可能会搞砸物理。
我试图在接触后将所有速度设置为 0。这样就取消了联系 冲击而 body 不动。但它的“物理数据”似乎仍然被损坏—— 当它之后被东西击中时,它的行为就不正确。
是否有任何方法可以“重置”使用 body.setTransform() 调和的 body 以便它再次正常工作?
最佳答案
使用b2MouseJoint
沿着路径移动 body 并保持正确的 body 行为。
关于box2d、setTransform 和碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933675/