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:
- src/geom/Point.js line 18
Members
-
<readonly> type : number
-
The const type of this object.
Type:
- number
- Source:
- src/geom/Point.js line 38
-
x : number
-
The x value of the point.
Type:
- number
- Source:
- src/geom/Point.js line 27
-
y : number
-
The y value of the point.
Type:
- number
- Source:
- src/geom/Point.js line 32
Methods
-
<static> add(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 684
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> angle(a, b)
-
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.
- Source:
- src/geom/Point.js line 806
Returns:
The angle, where b is the vertex. Within [-pi, pi].
- Type
- number
-
<static> centroid(points [, out])
-
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.
- Source:
- src/geom/Point.js line 1064
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> distance(a, b [, round])
-
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.
- Source:
- src/geom/Point.js line 910
Returns:
The distance between this Point object and the destination Point object.
- Type
- number
-
<static> divide(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 747
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> equals(a, b)
-
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.
- Source:
- src/geom/Point.js line 768
Returns:
A value of true if the Points are equal, otherwise false.
- Type
- boolean
-
<static> interpolate(a, b, f [, out])
-
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.
- Source:
- src/geom/Point.js line 857
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> isPoint(obj)
-
Tests a Point or Point-like object.
Parameters:
Name Type Description obj
object The object to test.
- Source:
- src/geom/Point.js line 1155
Returns:
- True if the object has numeric x and y properties.
- Type
- boolean
-
<static> multiply(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 726
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> multiplyAdd(a, b, s [, out])
-
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.
- Source:
- src/geom/Point.js line 838
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> negative(a [, out])
-
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.
- Source:
- src/geom/Point.js line 821
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> normalize(a [, out])
-
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.
- Source:
- src/geom/Point.js line 994
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> normalRightHand(a [, out])
-
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.
- Source:
- src/geom/Point.js line 977
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> parse(obj [, xProp] [, yProp])
-
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.
- Source:
- src/geom/Point.js line 1106
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> perp(a [, out])
-
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.
- Source:
- src/geom/Point.js line 876
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> project(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 927
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> projectUnit(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 952
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> rotate(a, x, y, angle [, asDegrees] [, distance])
-
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.
- Source:
- src/geom/Point.js line 1018
Returns:
The modified point object.
- Type
- Phaser.Point
-
<static> rperp(a [, out])
-
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.
- Source:
- src/geom/Point.js line 893
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> subtract(a, b [, out])
-
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.
- Source:
- src/geom/Point.js line 705
Returns:
The new Point object.
- Type
- Phaser.Point
-
<static> trunc(obj)
-
Truncates the x and y values, removing any fractional parts.
Parameters:
Name Type Description obj
object The Point.
- Source:
- src/geom/Point.js line 1139
Returns:
The modified Point.
- Type
- object
-
add(x, y)
-
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.
- Source:
- src/geom/Point.js line 128
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
angle(a [, asDegrees])
-
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 Return a value in radians (false) or degrees (true)?
- Source:
- src/geom/Point.js line 367
Returns:
The angle, where this Point is the vertex. Within [-pi, pi] or [-180deg, 180deg].
- Type
- number
-
angleXY(x, y [, asDegrees])
-
Returns the angle between this Point object and an x-y coordinate pair.
Parameters:
Name Type Argument Default Description x
number The x-coordinate
y
number The y-coordinate
asDegrees
boolean <optional>
false Return a value in radians (false) or degrees (true)?
- Source:
- src/geom/Point.js line 382
Returns:
The angle, where this Point is the vertex. Within [-pi, pi] or [-180deg, 180deg].
- Type
- number
-
atan( [asDegrees])
-
Returns the arctangent of this Point.
Parameters:
Name Type Argument Default Description asDegrees
boolean <optional>
false Return a value in radians (false) or degrees (true)?
- Source:
- src/geom/Point.js line 407
Returns:
The angle, where the vertex is (0, 0). Within [-pi, pi] or [-180deg, 180deg].
- Type
- number
-
ceil()
-
Math.ceil() both the x and y properties of this Point.
- Source:
- src/geom/Point.js line 641
Returns:
This Point object.
- Type
- Phaser.Point
-
clamp(min, max)
-
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.
- Source:
- src/geom/Point.js line 228
Returns:
This Point object.
- Type
- Phaser.Point
-
clampX(min, max)
-
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.
- Source:
- src/geom/Point.js line 196
Returns:
This Point object.
- Type
- Phaser.Point
-
clampY(min, max)
-
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.
- Source:
- src/geom/Point.js line 212
Returns:
This Point object.
- Type
- Phaser.Point
-
clip(rect)
-
If this Point is not within the given object, moves it inside (at the nearest edge).
Parameters:
Name Type Description rect
any A Phaser.Rectangle or any object with left, top, right, and bottom properties.
- Source:
- src/geom/Point.js line 245
Returns:
This Point object.
- Type
- Phaser.Point
-
clone( [output])
-
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.
- Source:
- src/geom/Point.js line 269
Returns:
The new Point object.
- Type
- Phaser.Point
-
copyFrom(source)
-
Copies the x and y properties from any given object to this Point.
Parameters:
Name Type Description source
any The object to copy from.
- Source:
- src/geom/Point.js line 44
Returns:
This Point object.
- Type
- Phaser.Point
-
copyTo(dest)
-
Copies the x and y properties from this Point to any given object.
Parameters:
Name Type Description dest
any The object to copy to.
- Source:
- src/geom/Point.js line 292
Returns:
The dest object.
- Type
- object
-
cross(a)
-
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.
- Source:
- src/geom/Point.js line 575
Returns:
The result.
- Type
- number
-
distance(dest [, round])
-
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).
- Source:
- src/geom/Point.js line 309
Returns:
The distance between this Point object and the destination Point object.
- Type
- number
-
divide(x, y)
-
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.
- Source:
- src/geom/Point.js line 179
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
dot(a)
-
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.
- Source:
- src/geom/Point.js line 561
Returns:
The result.
- Type
- number
-
equals(a)
-
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.
- Source:
- src/geom/Point.js line 324
Returns:
A value of true if the x and y points are equal, otherwise false.
- Type
- boolean
-
equalsXY(x, y)
-
Determines whether a set of x-y coordinates are equal to this Point's.
Parameters:
Name Type Description x
number The x-coordinate to compare with this Point.
y
number The y-coordinate to compare with this Point.
- Source:
- src/geom/Point.js line 338
Returns:
A value of true if the Point's coordinates are identical to the arguments, otherwise false.
- Type
- boolean
-
expand(min)
-
Alters the Point object so its magnitude is at least the min value.
Parameters:
Name Type Description min
number The minimum magnitude for the Point.
- Source:
- src/geom/Point.js line 528
- See:
Returns:
This Point object.
- Type
- Phaser.Point
-
floor()
-
Math.floor() both the x and y properties of this Point.
- Source:
- src/geom/Point.js line 628
Returns:
This Point object.
- Type
- Phaser.Point
-
getMagnitude()
-
Calculates the length of the Point object.
- Source:
- src/geom/Point.js line 448
Returns:
The length of the Point.
- Type
- number
-
getMagnitudeSq()
-
Calculates the length squared of the Point object.
- Source:
- src/geom/Point.js line 461
Returns:
The length ^ 2 of the Point.
- Type
- number
-
invert()
-
Inverts the x and y values of this Point
- Source:
- src/geom/Point.js line 58
Returns:
This Point object.
- Type
- Phaser.Point
-
isZero()
-
Determine if this point is at 0,0.
- Source:
- src/geom/Point.js line 548
Returns:
True if this Point is 0,0, otherwise false.
- Type
- boolean
-
limit(max)
-
Alters the Point object so its magnitude is at most the max value.
Parameters:
Name Type Description max
number The maximum magnitude for the Point.
- Source:
- src/geom/Point.js line 508
- See:
Returns:
This Point object.
- Type
- Phaser.Point
-
multiply(x, y)
-
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.
- Source:
- src/geom/Point.js line 162
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
normalize()
-
Alters the Point object so that its length is 1, but it retains the same direction.
- Source:
- src/geom/Point.js line 488
Returns:
This Point object.
- Type
- Phaser.Point
-
normalRightHand()
-
Right-hand normalize (make unit length) this Point.
- Source:
- src/geom/Point.js line 615
Returns:
This Point object.
- Type
- Phaser.Point
-
perp()
-
Make this Point perpendicular (90 degrees rotation)
- Source:
- src/geom/Point.js line 589
Returns:
This Point object.
- Type
- Phaser.Point
-
rotate(x, y, angle [, asDegrees] [, distance])
-
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.
- Source:
- src/geom/Point.js line 430
Returns:
The modified point object.
- Type
- Phaser.Point
-
round()
-
Math.round() both the x and y properties of this Point.
- Source:
- src/geom/Point.js line 654
Returns:
This Point object.
- Type
- Phaser.Point
-
rperp()
-
Make this Point perpendicular (-90 degrees rotation)
- Source:
- src/geom/Point.js line 602
Returns:
This Point object.
- Type
- Phaser.Point
-
set(obj, x [, y])
-
Sets the
x
andy
values of an object and returns the object.Parameters:
Name Type Argument Description obj
object An object with numeric x and y properties.
x
number The x value.
y
number <optional>
The y value. If not given the x value will be used in its place.
- Source:
- src/geom/Point.js line 1170
Returns:
The object. Useful for chaining method calls.
- Type
- object
-
set(x [, y])
-
Sets the
x
andy
values of this Point object to the given values. If you omit they
value then thex
value will be applied to both, for example:Point.set(2)
is the same asPoint.set(2, 2)
Identical to setTo.
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.
- Source:
- src/geom/Point.js line 90
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
setMagnitude(magnitude)
-
Alters the length of the Point without changing the direction.
Parameters:
Name Type Description magnitude
number The desired magnitude of the resulting Point.
- Source:
- src/geom/Point.js line 474
Returns:
This Point object.
- Type
- Phaser.Point
-
setTo(x [, y])
-
Sets the
x
andy
values of this Point object to the given values. If you omit they
value then thex
value will be applied to both, for example:Point.setTo(2)
is the same asPoint.setTo(2, 2)
Identical to set.
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.
- Source:
- src/geom/Point.js line 71
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
setToPolar(azimuth [, radius] [, asDegrees])
-
Sets the
x
andy
values of this Point object from a given polar coordinate.Parameters:
Name Type Argument Default Description azimuth
number The angular coordinate, in radians (unless
asDegrees
).radius
number <optional>
1 The radial coordinate (length).
asDegrees
boolean <optional>
false True if
azimuth
is in degrees.- Source:
- src/geom/Point.js line 109
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
sortClockwise(points [, center])
-
Sorts an array of points in a clockwise direction, relative to a reference point.
The sort is clockwise relative to the display, starting from a 12 o'clock position. (In the Cartesian plane, it is anticlockwise, starting from the -y direction.)
Example sequence: (0, -1), (1, 0), (0, 1), (-1, 0)
Parameters:
Name Type Argument Description points
array An array of Points or point-like objects (e.g., sprites).
center
object | Phaser.Point <optional>
The reference point. If omitted, the #centroid (midpoint) of the points is used.
- Source:
- src/geom/Point.js line 1190
Returns:
The sorted array.
- Type
- array
-
subtract(x, y)
-
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.
- Source:
- src/geom/Point.js line 145
Returns:
This Point object. Useful for chaining method calls.
- Type
- Phaser.Point
-
toString()
-
Returns a string representation of this object.
- Source:
- src/geom/Point.js line 667
Returns:
A string representation of the instance.
- Type
- string