package br.com.etyllica.core.animation.script; import br.com.etyllica.layer.AnimatedLayer; public class FrameAnimation extends SingleIntervalAnimation { protected AnimatedLayer target; public FrameAnimation(long time) { super(time); } public FrameAnimation(AnimatedLayer target) { super(target.getSpeed()*target.getFrames()); setTarget(target); this.loop = REPEAT_FOREVER; } public void setTarget(AnimatedLayer target) { this.target = target; this.startValue = 0; this.endValue = target.getFrames(); this.restart(); } @Override protected void update(double value) { target.animateWithFrame((int)(value%target.getFrames())); } }