phaser/todo/TS Source/tweens/easing/Cubic.ts

62 lines
1.3 KiB
TypeScript
Raw Normal View History

/// <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
/**
* Cubic easing methods.
*
* @class Cubic
*/
2013-04-18 13:16:18 +00:00
export class Cubic {
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;
}
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 --k * k * k + 1;
}
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;
return 0.5 * ((k -= 2) * k * k + 2);
}
}
}