使用 batch-LibGdx 绘制部分精灵
Drawing a partial sprite with batch-LibGdx
我有一个这样的精灵。
我想以精灵从下向上增长的方式绘制这个精灵,在 tap.for 上使用精灵批处理,我编写了以下代码:
if (MyInputProcessor.isTap)
{
Sprite stickSprite = new Sprite(stickTexture);
stickSprite.setPosition(stick.getX(),stick.getY());
for(float n=0;n<100;n++)
{
float i = 0.01f * n;
batch.draw(
stickSprite.getTexture(),
stick.getX(),
stick.getY(),
stickSprite.getWidth() / 2,
stickSprite.getHeight() / 2,
stickSprite.getWidth(),
stickSprite.getHeight()*i, //multiplying with height
stickSprite.getScaleX(),
stickSprite.getScaleY(),
0 ,
stickSprite.getRegionX(),
stickSprite.getRegionY(),
stickSprite.getRegionWidth(),
stickSprite.getRegionHeight(),
false,
false);
}
MyInputProcessor.isTap = false;
}
这里i值递增但在代码中不生效缩放。
代码有什么问题?
我在绘制精灵之前在渲染中调用了这个方法。
stickSprite.setSize(stickSprite.getWidth(), stickSprite.getHeight() + addincrementvalue);
我有一个这样的精灵。
我想以精灵从下向上增长的方式绘制这个精灵,在 tap.for 上使用精灵批处理,我编写了以下代码:
if (MyInputProcessor.isTap)
{
Sprite stickSprite = new Sprite(stickTexture);
stickSprite.setPosition(stick.getX(),stick.getY());
for(float n=0;n<100;n++)
{
float i = 0.01f * n;
batch.draw(
stickSprite.getTexture(),
stick.getX(),
stick.getY(),
stickSprite.getWidth() / 2,
stickSprite.getHeight() / 2,
stickSprite.getWidth(),
stickSprite.getHeight()*i, //multiplying with height
stickSprite.getScaleX(),
stickSprite.getScaleY(),
0 ,
stickSprite.getRegionX(),
stickSprite.getRegionY(),
stickSprite.getRegionWidth(),
stickSprite.getRegionHeight(),
false,
false);
}
MyInputProcessor.isTap = false;
}
这里i值递增但在代码中不生效缩放。 代码有什么问题?
我在绘制精灵之前在渲染中调用了这个方法。
stickSprite.setSize(stickSprite.getWidth(), stickSprite.getHeight() + addincrementvalue);