diff options
Diffstat (limited to 'java/api/src/aurelienribon/tweenengine/equations/Cubic.java')
-rwxr-xr-x | java/api/src/aurelienribon/tweenengine/equations/Cubic.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/java/api/src/aurelienribon/tweenengine/equations/Cubic.java b/java/api/src/aurelienribon/tweenengine/equations/Cubic.java new file mode 100755 index 0000000..9d86988 --- /dev/null +++ b/java/api/src/aurelienribon/tweenengine/equations/Cubic.java @@ -0,0 +1,47 @@ +package aurelienribon.tweenengine.equations; + +import aurelienribon.tweenengine.TweenEquation; + +/** + * Easing equation based on Robert Penner's work: + * http://robertpenner.com/easing/ + * @author Aurelien Ribon | http://www.aurelienribon.com/ + */ +public abstract class Cubic extends TweenEquation { + public static final Cubic IN = new Cubic() { + @Override + public final float compute(float t) { + return t*t*t; + } + + @Override + public String toString() { + return "Cubic.IN"; + } + }; + + public static final Cubic OUT = new Cubic() { + @Override + public final float compute(float t) { + return (t-=1)*t*t + 1; + } + + @Override + public String toString() { + return "Cubic.OUT"; + } + }; + + public static final Cubic INOUT = new Cubic() { + @Override + public final float compute(float t) { + if ((t*=2) < 1) return 0.5f*t*t*t; + return 0.5f * ((t-=2)*t*t + 2); + } + + @Override + public String toString() { + return "Cubic.INOUT"; + } + }; +}
\ No newline at end of file |