1

所以我有这个我正在绘制的纹理,原点是左下角。在我必须旋转它之前,它看起来还可以。

无旋转:

在此处输入图像描述

带旋转:

在此处输入图像描述

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

在此处输入图像描述

这是我在最后一个中使用的代码:

    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);

任何想法为什么它不完美?我坚持移动原点会做到这一点,但我这辈子从来没有这么错。

4

1 回答 1

0

旋转使用:

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

对于定位,将原点设置为左角。参考

于 2013-07-19T08:28:38.470 回答