我一直试图用一只眼睛在屏幕上绘制一个块的图像。我希望能够以相同的方式为多个纹理设置动画,因此手动绘制动画不是一种选择。问题是,当我将眼睑精灵移动到高于完全闭合时,眼睑的一部分显示在预期界限之上,如this。显然,这是一个问题,因为它看起来很不自然。我想要对这个问题有一个替代解决方案,或者能够裁剪眼睑的Sprite对象以适应图像的其余部分。最终的图像包括眼球,瞳孔(因为我也希望能够为此设置动画),眼睑,主体和轮廓,按顺序绘制。渲染函数如下所示:
public void render(float delta) {
float height = this.eyelid.getHeight();
float eyeHeight = height*0.7f;
this.eyelid.setY(this.eye.getY()+(eyeHeight*((100-this.lid)/100f)));
batch.begin();
this.eye.draw(batch);
this.pupil.draw(batch);
this.eyelid.draw(batch);
this.main.draw(batch);
this.shade.draw(batch);
batch.end();
}
this.lid是眼睛闭合的百分比,并且可以找到眼睑本身的图像here。我怎么能解决这个问题,或者我怎么能裁剪精灵?我不想每帧都以精灵的形式重新加载纹理。