box2d、setTransform 和碰撞

标签 box2d transform libgdx collision

我正在使用 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/

相关文章:

java - 如何让一个角色走主角路线? LIBGDX/Java

c# - 变换后获取元素位置

java - LibGdx 工具错误

C++ 类不生成匹配函数和已知转换错误

c++ - 如何在 box2d 中创建椭圆形状?

objective-c - 在 box2d/cocos2diphone 中,我怎样才能产生一个冲动,使 b 点远离 a 点

python - 确定Python中数组的频率

javascript - Matrix3d propertyValues 及其他

java - libgdx 中的突破球碰撞

java - Libgdx批量绘制不可见纹理