motion-and-tween
Version:
Motion and Tween
45 lines (44 loc) • 2.04 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 EaseInOutExponentialTween = /** @class */ (function (_super) {
__extends(EaseInOutExponentialTween, _super);
function EaseInOutExponentialTween(params) {
return _super.call(this, params, "EaseInOutExponentialTween") || this;
}
EaseInOutExponentialTween.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(2, 10 * (timeStep - 1)) +
beginValue;
}
else {
var calculatedValue = -Math.pow(2, -10 * --timeStep) + 2;
newValue = (valueChange / 2) * calculatedValue + beginValue;
}
return newValue;
};
EaseInOutExponentialTween.prototype.update = function (params) {
if (params === void 0) { params = null; }
return _super.prototype.update.call(this, params, this.tweenAlgorithm);
};
return EaseInOutExponentialTween;
}(Tween));
export { EaseInOutExponentialTween };
export default EaseInOutExponentialTween;