Libgdx Box2d纹理应用旋转时向上移动

时间:2013-07-19 06:48:21

标签: box2d libgdx

所以我画了这个纹理,原点是左下角。它看起来不错,直到我必须旋转它。

没有轮换:

enter image description here

旋转:

enter image description here

我也尝试将原点移动到中心,它更好但不完美:

enter image description here

以下是我在上一篇文章中使用的代码:

    Sprite b = new Sprite(slimeTexture);
    b.setPosition(slimeBody.getPosition().x * BOX_TO_WORLD, slimeBody.getPosition().y * BOX_TO_WORLD);
    b.setSize(1.6f * BOX_TO_WORLD, (1.6f * BOX_TO_WORLD) / 2.7f);
    b.setRotation(slimeBody.getAngle() * MathUtils.radiansToDegrees);
    b.setOrigin((1.6f * BOX_TO_WORLD) /2f, ((1.6f * BOX_TO_WORLD) / 2.7f)/2f);

为什么它不完美贴合的任何想法?我想要移动原点会这样做,但我一生中从来没有这么错过。

1 个答案:

答案 0 :(得分:0)

轮换使用:

sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);

要进行定位,请将原点设置为左角。 ref