我使用以下代码呈现在另一个类中创建的雪碧:
batch = new SpriteBatch();
textureAtlas = new TextureAtlas(Gdx.files.internal("bird.atlas"));
animation = new Animation(1/6f, textureAtlas.getRegions());我的问题是,它不运行不同的图像,相反,我得到一个静态的。如果我将动画中的速度更改为1/10000 f,它将像crasy这样的图像翻转。
这是鸟类中呈现方法中的代码,然后我从游戏类中运行renderer.render();。
batch.begin();
elapsedTime = Gdx.graphics.getDeltaTime();
batch.draw(animation.getKeyFrame(elapsedTime, true), 50, 50);
batch.end();这将显示我的鸟在我的瓷砖地图上,但然后鸟没有拍打他的翅膀:(非常悲伤。
libgdx版本: 1.5.5
你知道我要去哪里吗?
发布于 2015-04-07 14:14:43
动画需要的是时间,而不是三角洲时间。您的elapsedTime变量只存储增量时间。
将elapsedTime = Gdx.graphics.getDeltaTime();更改为elapsedTime += Gdx.graphics.getDeltaTime();。
https://stackoverflow.com/questions/29493215
复制相似问题