动画无法正常渲染

时间:2015-04-07 13:49:35

标签: libgdx

我使用以下代码渲染在另一个类中创建的精灵:

    batch = new SpriteBatch();
    textureAtlas = new TextureAtlas(Gdx.files.internal("bird.atlas"));
    animation = new Animation(1/6f, textureAtlas.getRegions());

我的问题是它没有运行不同的图像,而是我得到一个静态图像。如果我将动画中的速度更改为1 / 10000f,它将翻转图像像crasy。

这是bird类中render方法中的代码,然后我运行renderer.render();来自游戏课。

    batch.begin();
    elapsedTime = Gdx.graphics.getDeltaTime();
    batch.draw(animation.getKeyFrame(elapsedTime, true), 50, 50);
    batch.end();

这将显示我的鸟在我的平铺地图的顶部,但然后鸟不会拍他的翅膀:(非常难过。

libgdx版本:1.5.5

任何想法,我在哪里误入歧途?

1 个答案:

答案 0 :(得分:2)

动画需要经过的时间,而不是增量时间。您的elapsedTime变量仅存储deltatime。

elapsedTime = Gdx.graphics.getDeltaTime();更改为elapsedTime += Gdx.graphics.getDeltaTime();