These archived docs are for Phaser 2.6.1 Phaser 3 docs can be found on newdocs.phaser.io.
Phaser CE docs can be found on the Phaser CE Documentation site.

Phaser. Point

new Point(x, y)

A Point object represents a location in a two-dimensional coordinate system, where x represents the horizontal axis and y represents the vertical axis. The following code creates a point at (0,0): var myPoint = new Phaser.Point(); You can also use them as 2D Vectors and you'll find different vector related methods in this class.

Parameters
Name Type Argument Default Description
x number <optional>
0

The horizontal position of this Point.

y number <optional>
0

The vertical position of this Point.

Source code: geom/Point.js (Line 18)

Public Properties

The const type of this object.

Source code: geom/Point.js (Line 37)

x : number

The x value of the point.

Source code: geom/Point.js (Line 26)

y : number

The y value of the point.

Source code: geom/Point.js (Line 31)

Public Methods

<static> add(a, b, out) → {Phaser.Point}

Adds the coordinates of two points together to create a new point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 491)

<static> angle(a, b) → {number}

Returns the angle between two Point objects.

Parameters
Name Type Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

Returns
number -

The angle between the two Points.

Source code: geom/Point.js (Line 585)

<static> centroid(points, out) → {Phaser.Point}

Calculates centroid (or midpoint) from an array of points. If only one point is provided, that point is returned.

Parameters
Name Type Argument Description
points Array.<Phaser.Point>

The array of one or more points.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 832)

<static> distance(a, b, round) → {number}

Returns the euclidian distance of this Point object to the given object (can be a Circle, Point or anything with x/y properties).

Parameters
Name Type Argument Default Description
a object

The target object. Must have visible x and y properties that represent the center of the object.

b object

The target object. Must have visible x and y properties that represent the center of the object.

round boolean <optional>
false

Round the distance to the nearest integer.

Returns
number -

The distance between this Point object and the destination Point object.

Source code: geom/Point.js (Line 684)

<static> divide(a, b, out) → {Phaser.Point}

Divides the coordinates of two points to create a new point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 551)

<static> equals(a, b) → {boolean}

Determines whether the two given Point objects are equal. They are considered equal if they have the same x and y values.

Parameters
Name Type Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

Returns
boolean -

A value of true if the Points are equal, otherwise false.

Source code: geom/Point.js (Line 571)

<static> interpolate(a, b, f, out) → {Phaser.Point}

Interpolates the two given Points, based on the f value (between 0 and 1) and returns a new Point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

f number

The level of interpolation between the two points. Indicates where the new point will be, along the line between pt1 and pt2. If f=1, pt1 is returned; if f=0, pt2 is returned.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 634)

<static> multiply(a, b, out) → {Phaser.Point}

Multiplies the coordinates of two points to create a new point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 531)

<static> multiplyAdd(a, b, s, out) → {Phaser.Point}

Adds two 2D Points together and multiplies the result by the given scalar.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

s number

The scaling value.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 616)

<static> negative(a, out) → {Phaser.Point}

Creates a negative Point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 600)

<static> normalize(a, out) → {Phaser.Point}

Normalize (make unit length) a Point.

Parameters
Name Type Argument Description
a Phaser.Point

The Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 764)

<static> normalRightHand(a, out) → {Phaser.Point}

Right-hand normalize (make unit length) a Point.

Parameters
Name Type Argument Description
a Phaser.Point

The Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 748)

<static> parse(obj, xProp, yProp) → {Phaser.Point}

Parses an object for x and/or y properties and returns a new Phaser.Point with matching values. If the object doesn't contain those properties a Point with x/y of zero will be returned.

Parameters
Name Type Argument Default Description
obj object

The object to parse.

xProp string <optional>
'x'

The property used to set the Point.x value.

yProp string <optional>
'y'

The property used to set the Point.y value.

Returns

The new Point object.

Source code: geom/Point.js (Line 873)

<static> perp(a, out) → {Phaser.Point}

Return a perpendicular vector (90 degrees rotation)

Parameters
Name Type Argument Description
a Phaser.Point

The Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 652)

<static> project(a, b, out) → {Phaser.Point}

Project two Points onto another Point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 700)

<static> projectUnit(a, b, out) → {Phaser.Point}

Project two Points onto a Point of unit length.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 724)

<static> rotate(a, x, y, angle, asDegrees, distance) → {Phaser.Point}

Rotates a Point object, or any object with exposed x/y properties, around the given coordinates by the angle specified. If the angle between the point and coordinates was 45 deg and the angle argument is 45 deg then the resulting angle will be 90 deg, as the angle argument is added to the current angle.

The distance allows you to specify a distance constraint for the rotation between the point and the coordinates. If none is given the distance between the two is calculated and used.

Parameters
Name Type Argument Default Description
a Phaser.Point

The Point object to rotate.

x number

The x coordinate of the anchor point

y number

The y coordinate of the anchor point

angle number

The angle in radians (unless asDegrees is true) to rotate the Point by.

asDegrees boolean <optional>
false

Is the given angle in radians (false) or degrees (true)?

distance number <optional>

An optional distance constraint between the Point and the anchor.

Returns

The modified point object.

Source code: geom/Point.js (Line 787)

<static> rperp(a, out) → {Phaser.Point}

Return a perpendicular vector (-90 degrees rotation)

Parameters
Name Type Argument Description
a Phaser.Point

The Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 668)

<static> subtract(a, b, out) → {Phaser.Point}

Subtracts the coordinates of two points to create a new point.

Parameters
Name Type Argument Description
a Phaser.Point

The first Point object.

b Phaser.Point

The second Point object.

out Phaser.Point <optional>

Optional Point to store the value in, if not supplied a new Point object will be created.

Returns

The new Point object.

Source code: geom/Point.js (Line 511)

Adds the given x and y values to this Point.

Parameters
Name Type Description
x number

The value to add to Point.x.

y number

The value to add to Point.y.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 106)

angle(a, asDegrees) → {number}

Returns the angle between this Point object and another object with public x and y properties.

Parameters
Name Type Argument Default Description
a Phaser.Point | any

The object to get the angle from this Point to.

asDegrees boolean <optional>
false

Is the given angle in radians (false) or degrees (true)?

Returns
number -

The angle between the two objects.

Source code: geom/Point.js (Line 281)

ceil() → {Phaser.Point}

Math.ceil() both the x and y properties of this Point.

Returns

This Point object.

Source code: geom/Point.js (Line 463)

clamp(min, max) → {Phaser.Point}

Clamps this Point object values to be between the given min and max.

Parameters
Name Type Description
min number

The minimum value to clamp this Point to.

max number

The maximum value to clamp this Point to.

Returns

This Point object.

Source code: geom/Point.js (Line 200)

clampX(min, max) → {Phaser.Point}

Clamps the x value of this Point to be between the given min and max.

Parameters
Name Type Description
min number

The minimum value to clamp this Point to.

max number

The maximum value to clamp this Point to.

Returns

This Point object.

Source code: geom/Point.js (Line 170)

clampY(min, max) → {Phaser.Point}

Clamps the y value of this Point to be between the given min and max

Parameters
Name Type Description
min number

The minimum value to clamp this Point to.

max number

The maximum value to clamp this Point to.

Returns

This Point object.

Source code: geom/Point.js (Line 185)

clone(output) → {Phaser.Point}

Creates a copy of the given Point.

Parameters
Name Type Argument Description
output Phaser.Point <optional>

Optional Point object. If given the values will be set into this object, otherwise a brand new Point object will be created and returned.

Returns

The new Point object.

Source code: geom/Point.js (Line 216)

copyFrom(source) → {Phaser.Point}

Copies the x and y properties from any given object to this Point.

Parameters
Name Type Description
source any

The object to copy from.

Returns

This Point object.

Source code: geom/Point.js (Line 43)

copyTo(dest) → {object}

Copies the x and y properties from this Point to any given object.

Parameters
Name Type Description
dest any

The object to copy to.

Returns
object -

The dest object.

Source code: geom/Point.js (Line 238)

cross(a) → {number}

The cross product of this and another Point object.

Parameters
Name Type Description
a Phaser.Point

The Point object to get the cross product combined with this Point.

Returns
number -

The result.

Source code: geom/Point.js (Line 402)

distance(dest, round) → {number}

Returns the distance of this Point object to the given object (can be a Circle, Point or anything with x/y properties)

Parameters
Name Type Argument Description
dest object

The target object. Must have visible x and y properties that represent the center of the object.

round boolean <optional>

Round the distance to the nearest integer (default false).

Returns
number -

The distance between this Point object and the destination Point object.

Source code: geom/Point.js (Line 254)

divide(x, y) → {Phaser.Point}

Divides Point.x and Point.y by the given x and y values.

Parameters
Name Type Description
x number

The value to divide Point.x by.

y number

The value to divide Point.x by.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 154)

dot(a) → {number}

The dot product of this and another Point object.

Parameters
Name Type Description
a Phaser.Point

The Point object to get the dot product combined with this Point.

Returns
number -

The result.

Source code: geom/Point.js (Line 389)

equals(a) → {boolean}

Determines whether the given objects x/y values are equal to this Point object.

Parameters
Name Type Description
a Phaser.Point | any

The object to compare with this Point.

Returns
boolean -

A value of true if the x and y points are equal, otherwise false.

Source code: geom/Point.js (Line 268)

floor() → {Phaser.Point}

Math.floor() both the x and y properties of this Point.

Returns

This Point object.

Source code: geom/Point.js (Line 451)

getMagnitude() → {number}

Calculates the length of the Point object.

Returns
number -

The length of the Point.

Source code: geom/Point.js (Line 321)

getMagnitudeSq() → {number}

Calculates the length squared of the Point object.

Returns
number -

The length ^ 2 of the Point.

Source code: geom/Point.js (Line 333)

invert() → {Phaser.Point}

Inverts the x and y values of this Point

Returns

This Point object.

Source code: geom/Point.js (Line 56)

isZero() → {boolean}

Determine if this point is at 0,0.

Returns
boolean -

True if this Point is 0,0, otherwise false.

Source code: geom/Point.js (Line 377)

multiply(x, y) → {Phaser.Point}

Multiplies Point.x and Point.y by the given x and y values. Sometimes known as Scale.

Parameters
Name Type Description
x number

The value to multiply Point.x by.

y number

The value to multiply Point.x by.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 138)

normalize() → {Phaser.Point}

Alters the Point object so that its length is 1, but it retains the same direction.

Returns

This Point object.

Source code: geom/Point.js (Line 358)

normalRightHand() → {Phaser.Point}

Right-hand normalize (make unit length) this Point.

Returns

This Point object.

Source code: geom/Point.js (Line 439)

perp() → {Phaser.Point}

Make this Point perpendicular (90 degrees rotation)

Returns

This Point object.

Source code: geom/Point.js (Line 415)

rotate(x, y, angle, asDegrees, distance) → {Phaser.Point}

Rotates this Point around the x/y coordinates given to the desired angle.

Parameters
Name Type Argument Default Description
x number

The x coordinate of the anchor point.

y number

The y coordinate of the anchor point.

angle number

The angle in radians (unless asDegrees is true) to rotate the Point to.

asDegrees boolean <optional>
false

Is the given angle in radians (false) or degrees (true)?

distance number <optional>

An optional distance constraint between the Point and the anchor.

Returns

The modified point object.

Source code: geom/Point.js (Line 304)

rperp() → {Phaser.Point}

Make this Point perpendicular (-90 degrees rotation)

Returns

This Point object.

Source code: geom/Point.js (Line 427)

set(x, y) → {Phaser.Point}

Sets the x and y values of this Point object to the given values. If you omit the y value then the x value will be applied to both, for example: Point.set(2) is the same as Point.set(2, 2)

Parameters
Name Type Argument Description
x number

The horizontal value of this point.

y number <optional>

The vertical value of this point. If not given the x value will be used in its place.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 87)

setMagnitude(magnitude) → {Phaser.Point}

Alters the length of the Point without changing the direction.

Parameters
Name Type Description
magnitude number

The desired magnitude of the resulting Point.

Returns

This Point object.

Source code: geom/Point.js (Line 345)

setTo(x, y) → {Phaser.Point}

Sets the x and y values of this Point object to the given values. If you omit the y value then the x value will be applied to both, for example: Point.setTo(2) is the same as Point.setTo(2, 2)

Parameters
Name Type Argument Description
x number

The horizontal value of this point.

y number <optional>

The vertical value of this point. If not given the x value will be used in its place.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 68)

subtract(x, y) → {Phaser.Point}

Subtracts the given x and y values from this Point.

Parameters
Name Type Description
x number

The value to subtract from Point.x.

y number

The value to subtract from Point.y.

Returns

This Point object. Useful for chaining method calls.

Source code: geom/Point.js (Line 122)

toString() → {string}

Returns a string representation of this object.

Returns
string -

A string representation of the instance.

Source code: geom/Point.js (Line 475)