Bounce property
Implementation
static Map<ETTypes,num Function(num,[num?])> Bounce ={
ETTypes.In:(amount,[power]) {
return 1 - Easing.Bounce[ETTypes.Out]!(1 - amount);
},
ETTypes.Out:(amount,[power]) {
if (amount < 1 / 2.75) {
return 7.5625 * amount * amount;
}
else if (amount < 2 / 2.75) {
return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;
}
else if (amount < 2.5 / 2.75) {
return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;
}
else {
return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;
}
},
ETTypes.InOut:(amount,[power]) {
if (amount < 0.5) {
return Easing.Bounce[ETTypes.In]!(amount * 2) * 0.5;
}
return Easing.Bounce[ETTypes.Out]!(amount * 2 - 1) * 0.5 + 0.5;
},
};