# LibGDx android : Show animation on button click

I am trying to create an application using libgdx where i need an animation to be played on pressing an image button, i've been able to achieve it using this code

   if(slapBossFlag==true) {
currentFrame = animation.getKeyFrame(timePassed, true);
batch.begin();
timePassed += Gdx.graphics.getDeltaTime();
Gdx.app.log("time","time is"+timePassed);
batch.draw(currentFrame, screenWidth / 2 - ((currentFrame.getRegionWidth()) / 2), screenHeight / 2 - ((currentFrame.getRegionHeight()) / 2));
batch.end();
slapBossFlag = false;
}


the problem is the animation goes by too quickly.

i've tried setting timePassed to zero when slapBossFlag is false, and that didnt work.

Can anyone help?

## 1 Answer

You missuse the animation class.

you need to do the following:

currentframe = animation.getKeyFrame(Gdx.graphics.getDeltaTime(), true);


Currently you use an increasing time for your time passed. which is wrong, the animation class handles the passed time by itself.

Easier explained: Imagine a cake. If you eat constantly 3 percent you'll see it fade slowly away(what you want). On the other hand If you eat first 3 percent, than 6 percent and than 9 percent(what you have) the animation is fked up.

• I understand what you are saying but it doesn't work. should i post entire code? Jun 30 '16 at 12:14