mirror of
https://github.com/photonstorm/phaser
synced 2025-01-16 07:04:00 +00:00
32 lines
597 B
JavaScript
32 lines
597 B
JavaScript
|
var Out = function (v, amplitude, period)
|
||
|
{
|
||
|
if (amplitude === undefined) { amplitude = 0.1; }
|
||
|
if (period === undefined) { period = 0.1; }
|
||
|
|
||
|
if (v === 0)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
else if (v === 1)
|
||
|
{
|
||
|
return 1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
var s = period / 4;
|
||
|
|
||
|
if (amplitude < 1)
|
||
|
{
|
||
|
amplitude = 1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
s = period * Math.asin(1 / amplitude) / (2 * Math.PI);
|
||
|
}
|
||
|
|
||
|
return (amplitude * Math.pow(2, -10 * v) * Math.sin((v - s) * (2 * Math.PI) / period) + 1);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
module.exports = Out;
|