arcade-physics
Version:
Use Arcade Physics without Phaser.
36 lines • 1.35 kB
JavaScript
;
/**
* @author Richard Davey <rich@photonstorm.com>
* @copyright 2020 Photon Storm Ltd.
* @license {@link https://opensource.org/licenses/MIT|MIT License}
*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Gets the shortest angle between `angle1` and `angle2`.
*
* Both angles must be in the range -180 to 180, which is the same clamped
* range that `sprite.angle` uses, so you can pass in two sprite angles to
* this method and get the shortest angle back between the two of them.
*
* The angle returned will be in the same range. If the returned angle is
* greater than 0 then it's a counter-clockwise rotation, if < 0 then it's
* a clockwise rotation.
*
* @function Phaser.Math.Angle.ShortestBetween
* @since 3.0.0
*
* @param {number} angle1 - The first angle in the range -180 to 180.
* @param {number} angle2 - The second angle in the range -180 to 180.
*
* @return {number} The shortest angle, in degrees. If greater than zero it's a counter-clockwise rotation.
*/
const ShortestBetween = (angle1, angle2) => {
const difference = angle2 - angle1;
if (difference === 0) {
return 0;
}
const times = Math.floor((difference - -180) / 360);
return difference - times * 360;
};
exports.default = ShortestBetween;
//# sourceMappingURL=ShortestBetween.js.map