[英]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.