渲染一个关节? [libGDX / Box2D的]

时间:2016-08-29 23:24:49

标签: libgdx box2d

你如何在box2d中渲染关节?例如,如果你要制作一个抓钩,你如何制作它以便精灵或其他东西完全遵循它的动作?我试图创建一个与关节处于同一位置的Body,但是我经常挣扎很多,实际上它始终位于关节的顶部..

1 个答案:

答案 0 :(得分:1)

您需要做的就是:

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

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

确定两者之间的矢量角度 您的距离的锚点在oyur更新方法中的关节。请注意,您可能必须将本地锚点转换为世界点。

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

并设置位置和角度:

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