# Phaser API Documentation

Version:
Namespace: Angle
Phaser.Math.Angle
Source: src/math/angle/index.js (Line 7)

### Methods

<static> Between(x1, y1, x2, y2)

#### Description:

Find the angle of a segment from (x1, y1) -> (x2, y2).

#### Parameters:

name type description
x1 number

The x coordinate of the first point.

y1 number

The y coordinate of the first point.

x2 number

The x coordinate of the second point.

y2 number

The y coordinate of the second point.

##### Description:

The angle in radians.

##### Type:
• number
Since: 3.0.0
Source: src/math/angle/Between.js (Line 7)
<static> BetweenPoints(point1, point2)

#### Description:

Find the angle of a segment from (point1.x, point1.y) -> (point2.x, point2.y).

Calculates the angle of the vector from the first point to the second point.

#### Parameters:

name type description
point1 Phaser.Types.Math.Vector2Like

The first point.

point2 Phaser.Types.Math.Vector2Like

The second point.

##### Description:

The angle in radians.

##### Type:
• number
Since: 3.0.0
<static> BetweenPointsY(point1, point2)

#### Description:

Find the angle of a segment from (point1.x, point1.y) -> (point2.x, point2.y).

The difference between this method and Phaser.Math.Angle.BetweenPoints is that this assumes the y coordinate travels down the screen.

#### Parameters:

name type description
point1 Phaser.Types.Math.Vector2Like

The first point.

point2 Phaser.Types.Math.Vector2Like

The second point.

##### Description:

The angle in radians.

##### Type:
• number
Since: 3.0.0
<static> BetweenY(x1, y1, x2, y2)

#### Description:

Find the angle of a segment from (x1, y1) -> (x2, y2).

The difference between this method and Phaser.Math.Angle.Between is that this assumes the y coordinate travels down the screen.

#### Parameters:

name type description
x1 number

The x coordinate of the first point.

y1 number

The y coordinate of the first point.

x2 number

The x coordinate of the second point.

y2 number

The y coordinate of the second point.

##### Description:

The angle in radians.

##### Type:
• number
Since: 3.0.0
Source: src/math/angle/BetweenY.js (Line 7)
<static> CounterClockwise(angle)

#### Description:

Takes an angle in Phasers default clockwise format and converts it so that 0 is North, 90 is West, 180 is South and 270 is East, therefore running counter-clockwise instead of clockwise.

You can pass in the angle from a Game Object using:

``````var converted = CounterClockwise(gameobject.rotation);
``````

All values for this function are in radians.

#### Parameters:

name type description
angle number

The angle to convert, in radians.

##### Description:

The converted angle, in radians.

##### Type:
• number
Since: 3.16.0
<static> Normalize(angle)

#### Description:

Normalize an angle to the [0, 2pi] range.

#### Parameters:

name type description
angle number

The angle to normalize, in radians.

##### Description:

The normalized angle, in radians.

##### Type:
• number
Since: 3.0.0
<static> Random()

#### Description:

Returns a random angle in the range [-pi, pi].

##### Description:

The angle, in radians.

##### Type:
• number
Since: 3.23.0
Source: src/math/angle/Random.js (Line 10)
<static> RandomDegrees()

#### Description:

Returns a random angle in the range [-180, 180].

##### Description:

The angle, in degrees.

##### Type:
• number
Since: 3.23.0
<static> Reverse(angle)

#### Description:

Reverse the given angle.

#### Parameters:

name type description
angle number

The angle to reverse, in radians.

##### Description:

The reversed angle, in radians.

##### Type:
• number
Since: 3.0.0
Source: src/math/angle/Reverse.js (Line 9)
<static> RotateTo(currentAngle, targetAngle, [lerp])

#### Description:

Rotates `currentAngle` towards `targetAngle`, taking the shortest rotation distance. The `lerp` argument is the amount to rotate by in this call.

#### Parameters:

name type arguments Default description
currentAngle number

The current angle, in radians.

targetAngle number

The target angle to rotate to, in radians.

lerp number <optional> 0.05

The lerp value to add to the current angle.

##### Type:
• number
Since: 3.0.0
Source: src/math/angle/RotateTo.js (Line 9)
<static> ShortestBetween(angle1, angle2)

#### Description:

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.

#### Parameters:

name type description
angle1 number

The first angle in the range -180 to 180.

angle2 number

The second angle in the range -180 to 180.

##### Description:

The shortest angle, in degrees. If greater than zero it's a counter-clockwise rotation.

##### Type:
• number
Since: 3.0.0
<static> Wrap(angle)

#### Description:

Wrap an angle.

Wraps the angle to a value in the range of -PI to PI.

#### Parameters:

name type description
angle number

The angle to wrap, in radians.

##### Description:

The wrapped angle, in radians.

##### Type:
• number
Since: 3.0.0
Source: src/math/angle/Wrap.js (Line 9)
<static> WrapDegrees(angle)

#### Description:

Wrap an angle in degrees.

Wraps the angle to a value in the range of -180 to 180.

#### Parameters:

name type description
angle number

The angle to wrap, in degrees.

##### Description:

The wrapped angle, in degrees.

• number
Since: 3.0.0