渲染关节? [libGDX/Box2D]

Rendering a joint? [libGDX/Box2D]

你会如何在 box2d 中渲染关节?例如,如果你要制作一个抓钩,你如何制作它才能让精灵或其他东西准确地跟随它的运动?我试图创建一个与关节位于同一位置的 Body,但实际上我费了很大劲才让它始终位于关节的顶部..

您只需执行以下操作:

您将所需精灵的原点设置为旋转点(例如底部中心)一次。

sprite.setOrigin(sprite.width()/2, 0);

你确定两个向量之间的角度 你的距离的锚点在你的更新方法中联合。请注意,您可能必须将本地锚点转换为世界点。

float angle = playerAnchorPoint.sub(ceilingAnchorPoint).angle();

你设置位置和角度:

sprite.setPosition(playerAnchor.x - sprite.width()/2, playerAnchor.y);
sprite.setRotation(angle);