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