Phaser.Matrix

new Matrix(a, b, c, d, tx, ty)

The Matrix is a 3x3 matrix mostly used for display transforms within the renderer.

It is represented like so:

a | b | tx | | c | d | ty | | 0 | 0 | 1 |

Parameters:

Name

Type

Argument

Default

Description

a

number

<optional>

1

Horizontal scaling

b

number

<optional>

0

Horizontal skewing

c

number

<optional>

0

Vertical skewing

d

number

<optional>

1

Vertical scaling

tx

number

<optional>

0

Horizontal translation

ty

number

<optional>

0

Vertical translation

Source - geom/Matrix.js, line 26

Members

a:number

Default Value: - 1

Source - geom/Matrix.js, line 39

b:number

Default Value: - 0

Source - geom/Matrix.js, line 45

c:number

Default Value: - 0

Source - geom/Matrix.js, line 51

d:number

Default Value: - 1

Source - geom/Matrix.js, line 57

tx:number

Default Value: - 0

Source - geom/Matrix.js, line 63

ty:number

Default Value: - 0

Source - geom/Matrix.js, line 69

<readonly>type:number

The const type of this object.

Source - geom/Matrix.js, line 75

append(matrix)→ {Phaser.Matrix}

Appends the given Matrix to this Matrix.

Parameters:

Name

Type

Description

matrix

Phaser.Matrix

The matrix to append to this one.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 345

apply(pos,newPos)→ {Phaser.Point}

Get a new position with the current transformation applied.

Can be used to go from a childs coordinate space to the world coordinate space (e.g. rendering)

Parameters:

Name

Type

Argument

Description

pos

Phaser.Point

The origin Point.

newPos

Phaser.Point

<optional>

The point that the new position is assigned to. This can be same as input point.

Returns:

Phaser.Point-

The new point, transformed through this matrix.

Source - geom/Matrix.js, line 233

applyInverse(pos, newPos)→ {Phaser.Point}

Get a new position with the inverse of the current transformation applied.

Can be used to go from the world coordinate space to a childs coordinate space. (e.g. input)

Parameters:

Name

Type

Argument

Description

pos

Phaser.Point

The origin Point.

newPos

Phaser.Point

<optional>

The point that the new position is assigned to. This can be same as input point.

Returns:

Phaser.Point-

The new point, inverse transformed through this matrix.

Source - geom/Matrix.js, line 254

clone(output)→ {Phaser.Matrix}

Creates a new Matrix object based on the values of this Matrix. If you provide the output parameter the values of this Matrix will be copied over to it. If the output parameter is blank a new Matrix object will be created.

Parameters:

Name

Type

Argument

Description

output

Phaser.Matrix

<optional>

If provided the values of this Matrix will be copied to it, otherwise a new Matrix object is created.

Returns:

Phaser.Matrix-

A clone of this Matrix.

Source - geom/Matrix.js, line 128

copyFrom(matrix)→ {Phaser.Matrix}

Copies the properties from the given Matrix into this Matrix.

Parameters:

Name

Type

Description

matrix

Phaser.Matrix

The Matrix to copy from.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 172

copyTo(matrix)→ {Phaser.Matrix}

Copies the properties from this Matrix to the given Matrix.

Parameters:

Name

Type

Description

matrix

Phaser.Matrix

The Matrix to copy from.

Returns:

Phaser.Matrix-

The destination Matrix object.

Source - geom/Matrix.js, line 157

fromArray(array)→ {Phaser.Matrix}

Sets the values of this Matrix to the values in the given array.

The Array elements should be set as follows:

a = array[0] b = array[1] c = array[3] d = array[4] tx = array[2] ty = array[5]

Parameters:

Name

Type

Description

array

Array

The array to copy from.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 81

identity()→

{Phaser.Matrix}

Resets this Matrix to an identity (default) matrix.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 371

rotate(angle)→ {Phaser.Matrix}

Applies a rotation transformation to this matrix.

Parameters:

Name

Type

Description

angle

number

The angle to rotate by, given in radians.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 318

scale(x, y)→

{Phaser.Matrix}

Applies a scale transformation to this matrix.

Parameters:

Name

Type

Description

x

number

The amount to scale horizontally.

y

number

The amount to scale vertically.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 297

setTo(a, b,c, d, tx, ty)→ {Phaser.Matrix}

Sets the values of this Matrix to the given values.

Parameters:

Name

Type

Description

a

number

Horizontal scaling

b

number

Horizontal skewing

c

number

Vertical skewing

d

number

Vertical scaling

tx

number

Horizontal translation

ty

number

Vertical translation

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 103

toArray(transpose, array)→ {Float32Array}

Creates a Float32 Array with values populated from this Matrix object.

Parameters:

Name

Type

Argument

Default

Description

transpose

boolean

<optional>

false

Whether the values in the array are transposed or not.

array

Float32Array

<optional>

If provided the values will be set into this array, otherwise a new Float32Array is created.

Returns:

Float32Array-

The newly created array which contains the matrix.

Source - geom/Matrix.js, line 192

translate(x,y)→ {Phaser.Matrix}

Translates the matrix on the x and y. This is the same as Matrix.tx += x.

Parameters:

Name

Type

Description

x

number

The x value to translate on.

y

number

The y value to translate on.

Returns:

Phaser.Matrix-

This Matrix object.

Source - geom/Matrix.js, line 279