mirror of
https://github.com/photonstorm/phaser
synced 2025-03-08 09:18:13 +00:00
63 lines
2 KiB
JavaScript
63 lines
2 KiB
JavaScript
var Phaser;
|
|
(function (Phaser) {
|
|
/// <reference path="../../_definitions.ts" />
|
|
/**
|
|
* @author Richard Davey <rich@photonstorm.com>
|
|
* @author sole (http://soledadpenades.com), tween.js
|
|
* @copyright 2013 Photon Storm Ltd.
|
|
* @license https://github.com/photonstorm/phaser/blob/master/license.txt MIT License
|
|
* @module Phaser
|
|
*/
|
|
(function (Easing) {
|
|
/**
|
|
* Exponential easing methods.
|
|
*
|
|
* @class Exponential
|
|
*/
|
|
var Exponential = (function () {
|
|
function Exponential() { }
|
|
Exponential.In = /**
|
|
* The In ease method.
|
|
*
|
|
* @method In
|
|
* @param {Number} k The value to ease.
|
|
* @return {Number} The eased value.
|
|
*/
|
|
function In(k) {
|
|
return k === 0 ? 0 : Math.pow(1024, k - 1);
|
|
};
|
|
Exponential.Out = /**
|
|
* The Out ease method.
|
|
*
|
|
* @method Out
|
|
* @param {Number} k The value to ease.
|
|
* @return {Number} The eased value.
|
|
*/
|
|
function Out(k) {
|
|
return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);
|
|
};
|
|
Exponential.InOut = /**
|
|
* The InOut ease method.
|
|
*
|
|
* @method InOut
|
|
* @param {Number} k The value to ease.
|
|
* @return {Number} The eased value.
|
|
*/
|
|
function InOut(k) {
|
|
if(k === 0) {
|
|
return 0;
|
|
}
|
|
if(k === 1) {
|
|
return 1;
|
|
}
|
|
if((k *= 2) < 1) {
|
|
return 0.5 * Math.pow(1024, k - 1);
|
|
}
|
|
return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);
|
|
};
|
|
return Exponential;
|
|
})();
|
|
Easing.Exponential = Exponential;
|
|
})(Phaser.Easing || (Phaser.Easing = {}));
|
|
var Easing = Phaser.Easing;
|
|
})(Phaser || (Phaser = {}));
|