2013-08-08 18:16:47 +00:00
|
|
|
/// <reference path="../../_definitions.ts" />
|
2013-04-18 13:16:18 +00:00
|
|
|
|
|
|
|
/**
|
2013-08-11 23:52:35 +00:00
|
|
|
* @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
|
2013-04-18 15:49:08 +00:00
|
|
|
*/
|
2013-04-18 13:16:18 +00:00
|
|
|
module Phaser.Easing {
|
|
|
|
|
2013-08-11 23:52:35 +00:00
|
|
|
/**
|
|
|
|
* Quartic easing methods.
|
|
|
|
*
|
|
|
|
* @class Quartic
|
|
|
|
*/
|
2013-04-18 13:16:18 +00:00
|
|
|
export class Quartic {
|
|
|
|
|
2013-08-11 23:52:35 +00:00
|
|
|
/**
|
|
|
|
* The In ease method.
|
|
|
|
*
|
|
|
|
* @method In
|
|
|
|
* @param {Number} k The value to ease.
|
|
|
|
* @return {Number} The eased value.
|
|
|
|
*/
|
2013-04-18 13:16:18 +00:00
|
|
|
public static In(k) {
|
|
|
|
|
|
|
|
return k * k * k * k;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2013-08-11 23:52:35 +00:00
|
|
|
/**
|
|
|
|
* The Out ease method.
|
|
|
|
*
|
|
|
|
* @method Out
|
|
|
|
* @param {Number} k The value to ease.
|
|
|
|
* @return {Number} The eased value.
|
|
|
|
*/
|
2013-04-18 13:16:18 +00:00
|
|
|
public static Out(k) {
|
|
|
|
|
|
|
|
return 1 - (--k * k * k * k);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2013-08-11 23:52:35 +00:00
|
|
|
/**
|
|
|
|
* The InOut ease method.
|
|
|
|
*
|
|
|
|
* @method InOut
|
|
|
|
* @param {Number} k The value to ease.
|
|
|
|
* @return {Number} The eased value.
|
|
|
|
*/
|
2013-04-18 13:16:18 +00:00
|
|
|
public static InOut(k) {
|
|
|
|
|
|
|
|
if ((k *= 2) < 1) return 0.5 * k * k * k * k;
|
|
|
|
return -0.5 * ((k -= 2) * k * k * k - 2);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|