[英]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.