diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2018-11-18 22:30:12 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2018-11-18 22:30:12 +0100 | 
| commit | 0deb13e7afaef61ea63f9cd518e4e858eb7ca397 (patch) | |
| tree | 1962e2b29e4d7c3ddd0c2dfb7363f2d7c9bb46e0 /core/src/ch/asynk/gdx/boardgame | |
| parent | a490b726204a1ce6a27e24f331f12ea563342cb0 (diff) | |
| download | gdx-boardgame-0deb13e7afaef61ea63f9cd518e4e858eb7ca397.zip gdx-boardgame-0deb13e7afaef61ea63f9cd518e4e858eb7ca397.tar.gz  | |
add FadeAnimation
Diffstat (limited to 'core/src/ch/asynk/gdx/boardgame')
| -rw-r--r-- | core/src/ch/asynk/gdx/boardgame/animations/FadeAnimation.java | 56 | 
1 files changed, 56 insertions, 0 deletions
diff --git a/core/src/ch/asynk/gdx/boardgame/animations/FadeAnimation.java b/core/src/ch/asynk/gdx/boardgame/animations/FadeAnimation.java new file mode 100644 index 0000000..90b5299 --- /dev/null +++ b/core/src/ch/asynk/gdx/boardgame/animations/FadeAnimation.java @@ -0,0 +1,56 @@ +package ch.asynk.gdx.boardgame.animations; + +import com.badlogic.gdx.utils.Pool; + +import ch.asynk.gdx.boardgame.Drawable; + +public class FadeAnimation extends TimedAnimation implements Pool.Poolable +{ +    private static final Pool<FadeAnimation> fadeAnimationPool = new Pool<FadeAnimation>() +    { +        @Override protected FadeAnimation newObject() +        { +            return new FadeAnimation(); +        } +    }; + +    public static FadeAnimation obtain(Drawable drawable, float from, float to, float duration) +    { +        FadeAnimation a = fadeAnimationPool.obtain(); + +        a.from = from; +        a.to = to; +        a.drawable = drawable; +        a.setDuration(duration); + +        return a; +    } + +    private float from; +    private float to; +    private Drawable drawable; + +    private FadeAnimation() +    { +    } + +    @Override public void dispose() +    { +        fadeAnimationPool.free(this); +    } + +    @Override public void begin() +    { +        drawable.setAlpha(from); +    } + +    @Override public void end() +    { +        drawable.setAlpha(to); +    } + +    @Override public void update(float delta) +    { +        drawable.setAlpha(from + ((to - from) * percent)); +    } +}  | 
