motion-and-tween
Version:
Motion and Tween
44 lines (43 loc) • 1.94 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import Tween from "../Tween.js";
var EaseInOutQuinticTween = /** @class */ (function (_super) {
__extends(EaseInOutQuinticTween, _super);
function EaseInOutQuinticTween(params) {
return _super.call(this, params, "EaseInOutQuinticTween") || this;
}
EaseInOutQuinticTween.prototype.tweenAlgorithm = function (params) {
var nextT = params.nextT, beginValue = params.beginValue, valueChange = params.valueChange, actionDuration = params.actionDuration;
var timeStep = nextT / (actionDuration / 2);
var newValue;
if (timeStep < 1) {
newValue = (valueChange / 2) * Math.pow(timeStep, 5) + beginValue;
}
else {
newValue =
(valueChange / 2) * (Math.pow(timeStep - 2, 5) + 2) +
beginValue;
}
return newValue;
};
EaseInOutQuinticTween.prototype.update = function (params) {
if (params === void 0) { params = null; }
return _super.prototype.update.call(this, params, this.tweenAlgorithm);
};
return EaseInOutQuinticTween;
}(Tween));
export { EaseInOutQuinticTween };
export default EaseInOutQuinticTween;