UNPKG

phaser4-rex-plugins

Version:
29 lines (24 loc) 831 B
// const NormalizeAngle = Phaser.Math.Angle.Normalize; const PI2 = Math.PI * 2; var LinearAngle = function (angle0, angle1, anticlockwise, t) { // angle0 = NormalizeAngle(angle0); // angle1 = NormalizeAngle(angle1); var deltaAngle, interpolatedAngle; if (anticlockwise) { if (angle0 <= angle1) { deltaAngle = (PI2 + angle0) - angle1; } else { deltaAngle = angle0 - angle1; } interpolatedAngle = (angle0 - (deltaAngle * t) + PI2) % PI2; } else { if (angle0 >= angle1) { deltaAngle = (PI2 + angle1) - angle0; } else { deltaAngle = angle1 - angle0; } interpolatedAngle = (angle0 + deltaAngle * t) % PI2; } return interpolatedAngle; } export default LinearAngle;