如何在一次击键中获得完整的动画循环?

How do I get a complete animation loop in one keystroke?

我需要解决什么问题才能使一次击键播放一个完整的动画循环?

正在创建动画对象:

jojoStandSummonTextureAtlasRight = new TextureAtlas(Gdx.files.internal("jojo/stand_summon/right/jojo_stand_summon.atlas"));
jojoStandSummonAnimationRight = new Animation<TextureRegion>(1 / 3f, jojoStandSummonTextureAtlasRight.getRegions());

渲染动画:

if(Gdx.input.isKeyJustPressed(E) && lastKeyInput == RIGHT){
            sb.draw(jojo.jojoStandSummonAnimationRight.getKeyFrame(elapsedTime, false), jojo.getPosition().x, jojo.getPosition().y);
            lastKeyInput = RIGHT;
        }

LibGDX提供的动画class包含一个.isAnimationFinished()函数。这将 return 一个指示动画何时播放完毕的布尔值。

就您而言,我假设您正在更新 update() 函数中的 elapsedTime 变量。所以你可以这样做:

if(!jojoStandSummonAnimationRight.isAnimationFinished()) {
    elapsed_time += Gdx.graphics.getDeltaTime();
} else {
    // animation is finished
}