Concepts
Functions
The Function interface represents a mathematical function.
Its purpose is to associate a floating value to any input floating value between 0f
and 1f
.
This function specifies the rate of change of a parameter over time (for example the position of an object).
The library provides a set of functions among the most common ones. Each one contains a convenient instance. For example the singleton for the linear function.
Simple functions
The constant function represents a constant motion whose value is always the stop value.
The linear function represents a uniform linear motion: the velocity is constant (no acceleration or deceleration).
Easing functions
The easing functions come in 3 forms:
Ease-in: the function is eased at the beginning.
Ease-out: the function is eased at the end.
Ease-in-out: the function is eased at the beginning and the end.
Here are the easing functions available in the library:
Circ ease-in
|
Circ ease-out
|
Circ ease-in-out
|
Cubic ease-in
|
Cubic ease-out
|
Cubic ease-in-out
|
Expo ease-in
|
Expo ease-out
|
Expo ease-in-out
|
Quad ease-in
|
Quad ease-out
|
Quad ease-in-out
|
Quart ease-in
|
Quart ease-out
|
Quart ease-in-out
|
Quint ease-in
|
Quint ease-out
|
Quint ease-in-out
|
Sine ease-in
|
Sine ease-out
|
Sine ease-in-out
|
Back ease-in
|
Back ease-out
|
Back ease-in-out
|
Bounce ease-in
|
Bounce ease-out
|
Bounce ease-in-out
|
Elastic ease-in
|
Elastic ease-out
|
Elastic ease-in-out
|
Custom Function
It is possible to create custom functions by creating a class implementing the Function interface.
The computeValue(float) method should return a value between 0f
and 1f
.
Motion
The Motion class is used to describe the movement of an element. It is made of a function, a start value, a stop value and a duration.
It proposes a convenient method Motion.getValue(long) to retrieve the position of the element at the specified elapsed time.