Ich habe eine gültige Animation namens diceAnimation
von einem gültigen TextureAtlas
namens dice
, die mehrere Frames enthält. Worüber ich ein Problem habe, ist das Rendering. Ich verwende den folgenden Code, um die Animation zu rendern, aber es zeigt nur den ersten Frame. Wenn ich timeElapsed
setze, um jedes Mal eine hinzuzufügen, anstatt die Delta-Zeit zu verwenden, animiert es aber WIRKLICH SCHNELL, wobei die in der Konstruktion definierten Frames pro Sekunde ignoriert werden. Hat jemand Ideen?Animation nicht spielen (LibGDX)
int elapsedTime;
@Override
public void create() {
batch = new SpriteBatch();
dice = new TextureAtlas("textures/dice/dice.atlas");
diceAnimation = new Animation<TextureRegion>(0.033f, dice.findRegions("one"), PlayMode.LOOP);
}
// ...
@Override
public void render() {
elapsedTime += Gdx.graphics.getDeltaTime();
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(diceAnimation.getKeyFrame(elapsedTime, true), 100, 100);
batch.end();
}