For converting degrees to radians (PI / 180)
An epsilon value (1.0e-6)
The maximum safe integer this browser supports. We use a const for backward compatibility with Internet Explorer.
The minimum safe integer this browser supports. We use a const for backward compatibility with Internet Explorer.
The value of PI * 2.
For converting radians to degrees (180 / PI)
An instance of the Random Number Generator. This is not set until the Game boots.
The value of PI * 0.5.
Calculate the mean average of the given values.
name | type | description |
---|---|---|
values | Array.<number> |
The values to average. |
The average value.
Calculates the Bernstein basis from the three factorial coefficients.
name | type | description |
---|---|---|
n | number |
The first value. |
i | number |
The second value. |
The Bernstein basis of Factorial(n) / Factorial(i) / Factorial(n - i)
Compute a random integer between the min
and max
values, inclusive.
name | type | description |
---|---|---|
min | number |
The minimum value. |
max | number |
The maximum value. |
The random integer.
Calculates a Catmull-Rom value from the given points, based on an alpha of 0.5.
name | type | description |
---|---|---|
t | number |
The amount to interpolate by. |
p0 | number |
The first control point. |
p1 | number |
The second control point. |
p2 | number |
The third control point. |
p3 | number |
The fourth control point. |
The Catmull-Rom value.
Ceils to some place comparative to a base
, default is 10 for decimal place.
The place
is represented by the power applied to base
to get that place.
name | type | arguments | Default | description |
---|---|---|---|---|
value | number |
The value to round. |
||
place | number | <optional> | 0 |
The place to round to. |
base | number | <optional> | 10 |
The base to round in. Default is 10 for decimal. |
The rounded value.
Force a value within the boundaries by clamping it to the range min
, max
.
name | type | description |
---|---|---|
value | number |
The value to be clamped. |
min | number |
The minimum bounds. |
max | number |
The maximum bounds. |
The clamped value.
Convert the given angle from degrees, to the equivalent angle in radians.
name | type | description |
---|---|---|
degrees | number |
The angle (in degrees) to convert to radians. |
The given angle converted to radians.
Calculates the positive difference of two given numbers.
name | type | description |
---|---|---|
a | number |
The first number in the calculation. |
b | number |
The second number in the calculation. |
The positive difference of the two given numbers.
Calculates the factorial of a given number for integer values greater than 0.
name | type | description |
---|---|---|
value | number |
A positive integer to calculate the factorial of. |
The factorial of the given number.
Generate a random floating point number between the two given bounds, minimum inclusive, maximum exclusive.
name | type | description |
---|---|---|
min | number |
The lower bound for the float, inclusive. |
max | number |
The upper bound for the float exclusive. |
A random float within the given range.
Floors to some place comparative to a base
, default is 10 for decimal place.
The place
is represented by the power applied to base
to get that place.
name | type | arguments | Default | description |
---|---|---|---|---|
value | number |
The value to round. |
||
place | number | <optional> | 0 |
The place to round to. |
base | number | <optional> | 10 |
The base to round in. Default is 10 for decimal. |
The rounded value.
Return a value based on the range between min
and max
and the percentage given.
name | type | arguments | description |
---|---|---|---|
percent | number |
A value between 0 and 1 representing the percentage. |
|
min | number |
The minimum value. |
|
max | number | <optional> |
The maximum value. |
The value that is percent
percent between min
and max
.
Calculate a per-ms speed from a distance and time (given in seconds).
name | type | description |
---|---|---|
distance | number |
The distance. |
time | number |
The time, in seconds. |
The speed, in distance per ms.
// 400px over 1 second is 0.4 px/ms
Phaser.Math.GetSpeed(400, 1) // -> 0.4
Check if a given value is an even number.
name | type | description |
---|---|---|
value | number |
The number to perform the check with. |
Whether the number is even or not.
Check if a given value is an even number using a strict type check.
name | type | description |
---|---|---|
value | number |
The number to perform the check with. |
Whether the number is even or not.
Calculates a linear (interpolation) value over t.
name | type | description |
---|---|---|
p0 | number |
The first point. |
p1 | number |
The second point. |
t | number |
The percentage between p0 and p1 to return, represented as a number between 0 and 1. |
The step t% of the way between p0 and p1.
Add an amount
to a value
, limiting the maximum result to max
.
name | type | description |
---|---|---|
value | number |
The value to add to. |
amount | number |
The amount to add. |
max | number |
The maximum value to return. |
The resulting value.
Subtract an amount
from value
, limiting the minimum result to min
.
name | type | description |
---|---|---|
value | number |
The value to subtract from. |
amount | number |
The amount to subtract. |
min | number |
The minimum value to return. |
The resulting value.
Work out what percentage value
is of the range between min
and max
.
If max
isn't given then it will return the percentage of value
to min
.
You can optionally specify an upperMax
value, which is a mid-way point in the range that represents 100%, after which the % starts to go down to zero again.
name | type | arguments | description |
---|---|---|---|
value | number |
The value to determine the percentage of. |
|
min | number |
The minimum value. |
|
max | number | <optional> |
The maximum value. |
upperMax | number | <optional> |
The mid-way point in the range that represents 100%. |
A value between 0 and 1 representing the percentage.
Convert the given angle in radians, to the equivalent angle in degrees.
name | type | description |
---|---|---|
radians | number |
The angle in radians to convert ot degrees. |
The given angle converted to degrees.
Compute a random unit vector.
Computes random values for the given vector between -1 and 1 that can be used to represent a direction.
Optionally accepts a scale value to scale the resulting vector by.
name | type | arguments | Default | description |
---|---|---|---|---|
vector | Phaser.Math.Vector2 |
The Vector to compute random values for. |
||
scale | number | <optional> | 1 |
The scale of the random values. |
The given Vector.
Compute a random position vector in a spherical area, optionally defined by the given radius.
name | type | arguments | Default | description |
---|---|---|---|---|
vec3 | Phaser.Math.Vector3 |
The Vector to compute random values for. |
||
radius | number | <optional> | 1 |
The radius. |
The given Vector.
Compute a random four-dimensional vector.
name | type | arguments | Default | description |
---|---|---|---|---|
vec4 | Phaser.Math.Vector4 |
The Vector to compute random values for. |
||
scale | number | <optional> | 1 |
The scale of the random values. |
The given Vector.
Rotate a given point by a given angle around the origin (0, 0), in an anti-clockwise direction.
name | type | description |
---|---|---|
point | object | Phaser.Geom.Point |
The point to be rotated. |
angle | number |
The angle to be rotated by in an anticlockwise direction. |
The given point, rotated by the given angle in an anticlockwise direction.
Rotate a point
around x
and y
to the given angle
, at the same distance.
In polar notation, this maps a point from (r, t) to (r, angle), vs. the origin (x, y).
name | type | description |
---|---|---|
point | object | Phaser.Geom.Point |
The point to be rotated. |
x | number |
The horizontal coordinate to rotate around. |
y | number |
The vertical coordinate to rotate around. |
angle | number |
The angle of rotation in radians. |
The given point.
Rotate a point
around x
and y
by the given angle
and distance
.
In polar notation, this maps a point from (r, t) to (distance, t + angle), vs. the origin (x, y).
name | type | description |
---|---|---|
point | object | Phaser.Geom.Point |
The point to be rotated. |
x | number |
The horizontal coordinate to rotate around. |
y | number |
The vertical coordinate to rotate around. |
angle | number |
The angle of rotation in radians. |
distance | number |
The distance from (x, y) to place the point at. |
The given point.
Position a point
at the given angle
and distance
to (x
, y
).
name | type | description |
---|---|---|
point | Phaser.Types.Math.Vector2Like |
The point to be positioned. |
x | number |
The horizontal coordinate to position from. |
y | number |
The vertical coordinate to position from. |
angle | number |
The angle of rotation in radians. |
distance | number |
The distance from (x, y) to place the point at. |
The given point.
Rotates a vector in place by axis angle.
This is the same as transforming a point by an axis-angle quaternion, but it has higher precision.
name | type | description |
---|---|---|
vec | Phaser.Math.Vector3 |
The vector to be rotated. |
axis | Phaser.Math.Vector3 |
The axis to rotate around. |
radians | number |
The angle of rotation in radians. |
The given vector.
Round a given number so it is further away from zero. That is, positive numbers are rounded up, and negative numbers are rounded down.
name | type | description |
---|---|---|
value | number |
The number to round. |
The rounded number, rounded away from zero.
Round a value to the given precision.
For example:
RoundTo(123.456, 0) = 123
RoundTo(123.456, 1) = 120
RoundTo(123.456, 2) = 100
To round the decimal, i.e. to round to precision, pass in a negative place
:
RoundTo(123.456789, 0) = 123
RoundTo(123.456789, -1) = 123.5
RoundTo(123.456789, -2) = 123.46
RoundTo(123.456789, -3) = 123.457
name | type | arguments | Default | description |
---|---|---|---|---|
value | number |
The value to round. |
||
place | number | <optional> | 0 |
The place to round to. Positive to round the units, negative to round the decimal. |
base | number | <optional> | 10 |
The base to round in. Default is 10 for decimal. |
The rounded value.
Generate a series of sine and cosine values.
name | type | arguments | Default | description |
---|---|---|---|---|
length | number |
The number of values to generate. |
||
sinAmp | number | <optional> | 1 |
The sine value amplitude. |
cosAmp | number | <optional> | 1 |
The cosine value amplitude. |
frequency | number | <optional> | 1 |
The frequency of the values. |
The generated values.
Calculate a smoother interpolation percentage of x
between min
and max
.
The function receives the number x
as an argument and returns 0 if x
is less than or equal to the left edge,
1 if x
is greater than or equal to the right edge, and smoothly interpolates, using a Hermite polynomial,
between 0 and 1 otherwise.
Produces an even smoother interpolation than Phaser.Math.SmoothStep.
name | type | description |
---|---|---|
x | number |
The input value. |
min | number |
The minimum value, also known as the 'left edge', assumed smaller than the 'right edge'. |
max | number |
The maximum value, also known as the 'right edge', assumed greater than the 'left edge'. |
The percentage of interpolation, between 0 and 1.
Calculate a smooth interpolation percentage of x
between min
and max
.
The function receives the number x
as an argument and returns 0 if x
is less than or equal to the left edge,
1 if x
is greater than or equal to the right edge, and smoothly interpolates, using a Hermite polynomial,
between 0 and 1 otherwise.
name | type | description |
---|---|---|
x | number |
The input value. |
min | number |
The minimum value, also known as the 'left edge', assumed smaller than the 'right edge'. |
max | number |
The maximum value, also known as the 'right edge', assumed greater than the 'left edge'. |
The percentage of interpolation, between 0 and 1.
Returns a Vector2 containing the x and y position of the given index in a width
x height
sized grid.
For example, in a 6 x 4 grid, index 16 would equal x: 4 y: 2.
If the given index is out of range an empty Vector2 is returned.
name | type | arguments | description |
---|---|---|---|
index | number |
The position within the grid to get the x/y value for. |
|
width | number |
The width of the grid. |
|
height | number |
The height of the grid. |
|
out | Phaser.Math.Vector2 | <optional> |
An optional Vector2 to store the result in. If not given, a new Vector2 instance will be created. |
A Vector2 where the x and y properties contain the given grid index.
Takes the x
and y
coordinates and transforms them into the same space as
defined by the position, rotation and scale values.
name | type | arguments | description |
---|---|---|---|
x | number |
The x coordinate to be transformed. |
|
y | number |
The y coordinate to be transformed. |
|
positionX | number |
Horizontal position of the transform point. |
|
positionY | number |
Vertical position of the transform point. |
|
rotation | number |
Rotation of the transform point, in radians. |
|
scaleX | number |
Horizontal scale of the transform point. |
|
scaleY | number |
Vertical scale of the transform point. |
|
output | object | Phaser.Math.Vector2 | Phaser.Geom.Point | <optional> |
The output vector, point or object for the translated coordinates. |
The translated point.
Checks if the two values are within the given tolerance
of each other.
name | type | description |
---|---|---|
a | number |
The first value to use in the calculation. |
b | number |
The second value to use in the calculation. |
tolerance | number |
The tolerance. Anything equal to or less than this value is considered as being within range. |
Returns true
if a
is less than or equal to the tolerance of b
.
Wrap the given value
between min
and `max.
name | type | description |
---|---|---|
value | number |
The value to wrap. |
min | number |
The minimum value. |
max | number |
The maximum value. |
The wrapped value.