Skip to main content
Version: Phaser v3.88.2

Vector2

A representation of a vector in 2D space.

A two-component vector.

Constructor

new Vector2([x], [y])

Parameters

nametypeoptionaldefaultdescription
xnumber | Phaser.Types.Math.Vector2LikeYes0The x component, or an object with x and y properties.
ynumberYes"x"The y component.

Scope: static

Source: src/math/Vector2.js#L13
Since: 3.0.0

Public Members​

x​

x: number​

Description:

The x component of this Vector.

Source: src/math/Vector2.js#L33
Since: 3.0.0


y​

y: number​

Description:

The y component of this Vector.

Source: src/math/Vector2.js#L43
Since: 3.0.0


Public Methods​

add​

<instance> add(src)​

Description:

Add a given Vector to this Vector. Addition is component-wise.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to add to this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L244
Since: 3.0.0


angle​

<instance> angle()​

Description:

Calculate the angle between this Vector and the positive x-axis, in radians.

Returns: number - The angle between this Vector, and the positive x-axis, given in radians.

Source: src/math/Vector2.js#L207
Since: 3.0.0


clone​

<instance> clone()​

Description:

Make a clone of this Vector2.

Returns: Phaser.Math.Vector2 - A clone of this Vector2.

Source: src/math/Vector2.js#L67
Since: 3.0.0


copy​

<instance> copy(src)​

Description:

Copy the components of a given Vector into this Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to copy the components from.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L80
Since: 3.0.0


cross​

<instance> cross(src)​

Description:

Calculate the cross product of this Vector and the given Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector2 to cross with this Vector2.

Returns: number - The cross product of this Vector and the given Vector.

Source: src/math/Vector2.js#L523
Since: 3.0.0


distance​

<instance> distance(src)​

Description:

Calculate the distance between this Vector and the given Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to calculate the distance to.

Returns: number - The distance from this Vector to the given Vector.

Source: src/math/Vector2.js#L362
Since: 3.0.0


distanceSq​

<instance> distanceSq(src)​

Description:

Calculate the distance between this Vector and the given Vector, squared.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to calculate the distance to.

Returns: number - The distance from this Vector to the given Vector, squared.

Source: src/math/Vector2.js#L380
Since: 3.0.0


divide​

<instance> divide(src)​

Description:

Perform a component-wise division between this Vector and the given Vector.

Divides this Vector by the given Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to divide this Vector by.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L326
Since: 3.0.0


dot​

<instance> dot(src)​

Description:

Calculate the dot product of this Vector and the given Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector2 to dot product with this Vector2.

Returns: number - The dot product of this Vector and the given Vector.

Source: src/math/Vector2.js#L508
Since: 3.0.0


equals​

<instance> equals(v)​

Description:

Check whether this Vector is equal to a given Vector.

Performs a strict equality check against each Vector's components.

Parameters:

nametypeoptionaldescription
vPhaser.Types.Math.Vector2LikeNoThe vector to compare with this Vector.

Returns: boolean - Whether the given Vector is equal to this Vector.

Source: src/math/Vector2.js#L174
Since: 3.0.0


fuzzyEquals​

<instance> fuzzyEquals(v, [epsilon])​

Description:

Check whether this Vector is approximately equal to a given Vector.

Parameters:

nametypeoptionaldefaultdescription
vPhaser.Types.Math.Vector2LikeNoThe vector to compare with this Vector.
epsilonnumberYes0.0001The tolerance value.

Returns: boolean - Whether both absolute differences of the x and y components are smaller than epsilon.

Source: src/math/Vector2.js#L191
Since: 3.23.0


length​

<instance> length()​

Description:

Calculate the length (or magnitude) of this Vector.

Returns: number - The length of this Vector.

Source: src/math/Vector2.js#L398
Since: 3.0.0


lengthSq​

<instance> lengthSq()​

Description:

Calculate the length of this Vector squared.

Returns: number - The length of this Vector, squared.

Source: src/math/Vector2.js#L429
Since: 3.0.0


lerp​

<instance> lerp(src, [t])​

Description:

Linearly interpolate between this Vector and the given Vector.

Interpolates this Vector towards the given Vector.

Parameters:

nametypeoptionaldefaultdescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector2 to interpolate towards.
tnumberYes0The interpolation percentage, between 0 and 1.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L538
Since: 3.0.0


limit​

<instance> limit(max)​

Description:

Limit the length (or magnitude) of this Vector.

Parameters:

nametypeoptionaldescription
maxnumberNoThe maximum length.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L624
Since: 3.23.0


mirror​

<instance> mirror(axis)​

Description:

Reflect this Vector across another.

Parameters:

nametypeoptionaldescription
axisPhaser.Math.Vector2NoA vector to reflect across.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L663
Since: 3.23.0


multiply​

<instance> multiply(src)​

Description:

Perform a component-wise multiplication between this Vector and the given Vector.

Multiplies this Vector by the given Vector.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to multiply this Vector by.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L280
Since: 3.0.0


negate​

<instance> negate()​

Description:

Negate the x and y components of this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L346
Since: 3.0.0


normalize​

<instance> normalize()​

Description:

Normalize this Vector.

Makes the vector a unit length vector (magnitude of 1) in the same direction.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L445
Since: 3.0.0


normalizeLeftHand​

<instance> normalizeLeftHand()​

Description:

Rotate this Vector to its perpendicular, in the negative direction.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L490
Since: 3.23.0


normalizeRightHand​

<instance> normalizeRightHand()​

Description:

Rotate this Vector to its perpendicular, in the positive direction.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L472
Since: 3.0.0


project​

<instance> project(src)​

Description:

Project this Vector onto another.

Parameters:

nametypeoptionaldescription
srcPhaser.Math.Vector2NoThe vector to project onto.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L696
Since: 3.60.0


reflect​

<instance> reflect(normal)​

Description:

Reflect this Vector off a line defined by a normal.

Parameters:

nametypeoptionaldescription
normalPhaser.Math.Vector2NoA vector perpendicular to the line.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L646
Since: 3.23.0


reset​

<instance> reset()​

Description:

Make this Vector the zero vector (0, 0).

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L608
Since: 3.0.0


rotate​

<instance> rotate(delta)​

Description:

Rotate this Vector by an angle amount.

Parameters:

nametypeoptionaldescription
deltanumberNoThe angle to rotate by, in radians.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L678
Since: 3.23.0


scale​

<instance> scale(value)​

Description:

Scale this Vector by the given value.

Parameters:

nametypeoptionaldescription
valuenumberNoThe value to scale this Vector by.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L300
Since: 3.0.0


set​

<instance> set(x, [y])​

Description:

Set the x and y components of the this Vector to the given x and y values.

Parameters:

nametypeoptionaldefaultdescription
xnumberNoThe x value to set for this Vector.
ynumberYes"x"The y value to set for this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L116
Since: 3.0.0


setAngle​

<instance> setAngle(angle)​

Description:

Set the angle of this Vector.

Parameters:

nametypeoptionaldescription
anglenumberNoThe angle, in radians.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L229
Since: 3.23.0


setFromObject​

<instance> setFromObject(obj)​

Description:

Set the component values of this Vector from a given Vector2Like object.

Parameters:

nametypeoptionaldescription
objPhaser.Types.Math.Vector2LikeNoThe object containing the component values to set for this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L98
Since: 3.0.0


setLength​

<instance> setLength(length)​

Description:

Set the length (or magnitude) of this Vector.

Parameters:

nametypeoptionaldescription
lengthnumberNoNo description provided

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L414
Since: 3.23.0


setTo​

<instance> setTo(x, [y])​

Description:

This method is an alias for Vector2.set.

Parameters:

nametypeoptionaldefaultdescription
xnumberNoThe x value to set for this Vector.
ynumberYes"x"The y value to set for this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L137
Since: 3.4.0


setToPolar​

<instance> setToPolar(azimuth, [radius])​

Description:

Sets the x and y values of this object from a given polar coordinate.

Parameters:

nametypeoptionaldefaultdescription
azimuthnumberNoThe angular coordinate, in radians.
radiusnumberYes1The radial coordinate (length).

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L153
Since: 3.0.0


subtract​

<instance> subtract(src)​

Description:

Subtract the given Vector from this Vector. Subtraction is component-wise.

Parameters:

nametypeoptionaldescription
srcPhaser.Types.Math.Vector2LikeNoThe Vector to subtract from this Vector.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L262
Since: 3.0.0


transformMat3​

<instance> transformMat3(mat)​

Description:

Transform this Vector with the given Matrix.

Parameters:

nametypeoptionaldescription
matPhaser.Math.Matrix3NoThe Matrix3 to transform this Vector2 with.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L564
Since: 3.0.0


transformMat4​

<instance> transformMat4(mat)​

Description:

Transform this Vector with the given Matrix.

Parameters:

nametypeoptionaldescription
matPhaser.Math.Matrix4NoThe Matrix4 to transform this Vector2 with.

Returns: Phaser.Math.Vector2 - This Vector2.

Source: src/math/Vector2.js#L586
Since: 3.0.0


Constants:​

Public Members​

DOWN​

DOWN: Phaser.Math.Vector2​

Description:

A static down Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L763
Since: 3.16.0


LEFT​

LEFT: Phaser.Math.Vector2​

Description:

A static left Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L739
Since: 3.16.0


ONE​

ONE: Phaser.Math.Vector2​

Description:

A static one Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L775
Since: 3.16.0


RIGHT: Phaser.Math.Vector2​

Description:

A static right Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L727
Since: 3.16.0


UP​

UP: Phaser.Math.Vector2​

Description:

A static up Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L751
Since: 3.16.0


ZERO​

ZERO: Phaser.Math.Vector2​

Description:

A static zero Vector2 for use by reference.

This constant is meant for comparison operations and should not be modified directly.

Source: src/math/Vector2.js#L715
Since: 3.1.0