【发布时间】:2019-01-12 16:09:15
【问题描述】:
我正在尝试使用具有各种动作状态的 png 文件制作动画。我的问题是,图片在渲染时相互重叠。有没有解决方案,我只能显示一张图片? 我使用 LibGDX 库。
@Override public void show()
{
batch = new SpriteBatch();
img = new Texture("core/assets/ghosty.png");
regions = TextureRegion.split(img, 32, 32);
sprite = new Sprite (regions[0][0]);
Timer.schedule(new Timer.Task(){
@Override
public void run(){
frame++;
if (frame>27){
frame = 0;
if (zeile ==1){
zeile = 0;
}
else
{
zeile = 1;
}
}
sprite.setRegion(regions[zeile][frame]);
}
}, 0, 1/20f);
}
@Override public void render(float delta)
{
//stage.draw();
batch.begin();
sprite.draw(batch);
batch.end();
}
【问题讨论】:
-
不确定你所说的重叠是什么意思,但我建议重写它。您的计时器在您在不同线程中使用的变量的单独线程设置区域中运行,不要这样做。只需在另一个
render调用中更新并绘制下一帧。
标签: java intellij-idea libgdx sprite