package br.com.etyllica.animation.script; import java.awt.Color; import br.com.etyllica.core.animation.script.AnimationScript; public class ColorAnimation extends AnimationScript { private Color initialColor; private Color endColor; private Color currentColor; public ColorAnimation(long time) { super(time); } public ColorAnimation(long delay, long time) { super(delay, time); } @Override public void calculate(double factor) { double redValue = initialColor.getRed()+(endColor.getRed()-initialColor.getRed())*factor; double greenValue = initialColor.getGreen()+(endColor.getGreen()-initialColor.getGreen())*factor; double blueValue = initialColor.getBlue()+(endColor.getBlue()-initialColor.getBlue())*factor; currentColor = new Color((int)redValue, (int)greenValue, (int)blueValue); } public Color getInitialColor() { return initialColor; } public void setInitialColor(Color initialColor) { this.initialColor = initialColor; } public Color getEndColor() { return endColor; } public void setEndColor(Color endColor) { this.endColor = endColor; } public Color getCurrentColor() { return currentColor; } public void setCurrentColor(Color currentColor) { this.currentColor = currentColor; } }