如何在libgdx中从中心调整sprite的大小

时间:2017-01-27 17:17:24

标签: java libgdx

逐渐增加精灵的大小然后在达到ceritain大小之后它应该逐渐减小尺寸。我遇到的问题是它没有从中心调整大小。

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

如何让它从中心调整大小?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

setOriginCenter方法设置值

[Route("api/[controller]")]
public class MyctrlController : Controller
{
    [HttpGet("[action]")]
    public async Task<AnotherModel> Params(FilterModel filter)
    {
        ...
    }
}

所以在设置精灵的新尺寸(宽度,高度)后应调用此方法。

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