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