【问题标题】:Rotating Sprite around inner and outer points Libgdx围绕内部和外部点旋转 Sprite Libgdx
【发布时间】:2019-02-25 16:35:09
【问题描述】:

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

如果我这样做:

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

libgdx 在角度 1 + 角度 2 上围绕外点旋转精灵。有办法吗?

谢谢

【问题讨论】:

    标签: libgdx rotation sprite


    【解决方案1】:

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

    目前可能的解决方案是:

    • 内在价值真的是你所期望的吗?您是否记录过它们并检查它们是否不同?
    • 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);
    

    不要忘记像这样在渲染方法中绘制精灵:

    sprite.draw(batch);
    

    【讨论】:

    • 例如,我有一个 50x30 的矩形,我想将其旋转到 (20,10) 位置 - 内部点,然后将其旋转到 (70,50) 位置 - 外部,然后将其全部放入同时,这就像在另一个旋转的隐形轮子上旋转轮子,希望你理解:)
    • 内部值确实是我所期望的,大写“I” - 只是示例中的错误,抱歉,在代码中没关系
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多