繁体   English   中英

如何从libgdx的中心调整精灵的大小

[英]How to resize a sprite from center in libgdx

逐渐增加精灵的大小,然后在达到一定大小后,它应该逐渐减小大小。 我的问题是它没有从中心调整大小。

private float size = 40;
private float v = 200;

在我的更新方法中,我有

public void update(float delta){
    size += v * delta;

    if (size > 80){
        v = -200;
    }

    if (size <= 0) {
        size = 0;
    }

}

然后我画它

        sprite.setRegion(AssetLoader.atlas.findRegion("circle"));
        sprite.setPosition(centerX, centerY);
        sprite.setOriginCenter();
        sprite.setSize(size, size);
        sprite.draw(game.batch);

我如何使它从中心调整大小?

我假设setOriginCenter将原点设置为当前中心。 因此,如果更改大小,则需要再次调用此方法。 您是否考虑过更改比例而不是大小?

ps:Spirte源码链接: https : //github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/graphics/g2d/Sprite.java

setOriginCenter 方法设置值

originX = width / 2 
originY = height / 2;

所以这个方法应该在设置精灵的新大小(宽度,高度)后调用。

最好为您的精灵使用 setScale 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM