簡體   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