繁体   English   中英

如何制作一次性动画?

[英]How to make one-time animation?

我只是想知道如何制作一次动画。 我有很多动画,但是不幸的是,它们在循环中不断重复,这不是我想要的。 以下是一些代码片段:

public void act(float delta) {
    super.act(delta);
    stateTime += Gdx.graphics.getDeltaTime();
    TextureRegion currentFrame = activeAnimation.getKeyFrame(stateTime, true);
    setDrawable(new TextureRegionDrawable(currentFrame));
}

RUNNING_ANIMATION_BY_SIDE = new Animation<TextureRegion>(0.333f,framesRunningBySide,Animation.PlayMode.LOOP);
SHOOTING_ANIMATION = new Animation<TextureRegion>(0.333f, framesShootingFront, Animation.PlayMode.NORMAL);
STEADY_ANIMATION = new Animation<TextureRegion>(0.230f, framesStandingFront, Animation.PlayMode.LOOP_RANDOM);
DYING_ANIMATION = new Animation<TextureRegion>(0.230f, framesDyingFront,Animation.PlayMode.NORMAL);

setActiveAnimation(STEADY_ANIMATION);

如何让我的演员一次只播放动画? 正如你看到的,我已经设置为DYING_ANIMATION一个PlayMode.NORMAL。

您正在使用Animation类的重载方法getKeyFrame(float stateTime, boolean looping)

如果将true作为第二个参数传递给循环,则动画PlayMode.NORMAL PlayMode.LOOP将从PlayMode.NORMAL转换为PlayMode.LOOP

因此,请使用getKeyFrame(float stateTime)或将false用作第二个参数,但对于STEADY_ANIMATION PlayMode.LOOP_RANDOM PlayMode.LOOP STEADY_ANIMATION PlayMode.LOOP_RANDOM转换为STEADY_ANIMATION

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM