Ich verwende eine Animation mit 6 Frames in meinem Spiel für eine Veranstaltung. Es hat eine feste Reihenfolge, um gespielt zu werden.Wie ein Animationsrahmen für einmal jedes Mal zu spielen? -LibGdx
Array<TextureAtlas.AtlasRegion> anim=new Array<TextureAtlas.AtlasRegion>();
anim = game.playAtlas.findRegions(RegionNames.FEATHER_ANIMATION);
TextureRegion[] ftr = {anim.get(0),anim.get(1),anim.get(2),anim.get(3),anim.get(4),anim.get(5)};
featherAnimation = new Animation(0.1f,ftr);
featherAnimation.setPlayMode(PlayMode.NORMAL);
Ich möchte nur einmal diese Animation laufen (das bedeutet, sollte es 0. Rahmen letzten Frame spielen und dann aufhören sollte), wenn eine bestimmte boolean wahr ist.
Nach dem Abspielen des letzten Frames, sollte es aufhören und den Boolean auch falsch machen.
Wie dies tat ich
if (featherBool && egg.isEggAtNest()) {
featherTexture = featherAnimation.getKeyFrame(animationTime, true);
batch.draw(featherTexture, egg.getX() - featherTexture.getRegionWidth()/2, fx.getY());
featherBool = false;
}
Aber dies zu erreichen, ist nicht das, was ich will.
Die Frames sind nicht in der Reihenfolge, die ich angegeben habe. Auch, wie kann ich die Animation stoppen, sobald es spielt 0 bis 5 th Frame?