围绕内部和外部点Libgdx旋转Sprite

时间:2019-02-25 16:35:10

标签: libgdx rotation sprite

如何同时围绕内部点和外部点旋转Sprite?

如果我这样做:

        sprite.setOrigin(innerX, InnerY);
        sprite.rotate(angle1);
        sprite.setOrigin(outerX, outerY);
        sprite.rotate(angle2);

libgdx绕着外部点在angle1 + angle2上旋转精灵。有办法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

(对不起,我的评论没有足够的声誉) 您能否提供更多信息?很难找出错误。

到目前为止,可能的解决方案可能是:

  • 内在价值真的是您所期望的吗?您是否已登录并检查它们是否不同?
  • InnerY以大写的“ I”开头,对吗?

编辑:

因此,我尝试重新创建您的问题,它对我来说很好。也许我的例子可以帮助您:

    sprite = new Sprite(textureAtlas.findRegion("circle14"));
    sprite.setBounds(0, 0 , sprite.getRegionWidth(), sprite.getRegionHeight());

    // This is used to calculate an example innerX and innerY
    sprite.setOrigin(sprite.getWidth()/3f, sprite.getHeight()/3f);
    sprite.rotate(30f);

    // This is used to calculate an example outerX and outerY
    sprite.setOrigin(sprite.getWidth() * 1.5f, sprite.getHeight()*1.5f);
    sprite.rotate(30f);

别忘了在您的render方法中绘制这样的精灵:

sprite.draw(batch);