PIXI.Matrix
class Matrix
The PixiJS Matrix as a class makes it a lot faster.
Here is a representation of it:
| a | c | tx|
| b | d | ty|
| 0 | 0 | 1 |
Constructor
new PIXI.Matrix(a: number, b: number, c: number, d: number, tx: number, ty: number) → {}
| Name | Type | Default | Description |
|---|---|---|---|
| a | number | 1 |
x scale |
| b | number | 0 |
y skew |
| c | number | 0 |
x skew |
| d | number | 1 |
y scale |
| tx | number | 0 |
x translation |
| ty | number | 0 |
y translation |
Summary
Properties from Matrix
| PIXI.Matrix |
|
| PIXI.Matrix |
|
| number |
|
| number |
|
| number |
|
| number |
|
| number |
|
| number |
|
Methods from Matrix
| this |
|
| PIXI.Point |
|
| PIXI.Point |
|
| PIXI.Matrix |
|
| PIXI.Matrix |
|
| PIXI.Matrix |
|
| PIXI.Transform |
|
| void |
Creates a Matrix object based on the given array. The Element to Matrix mapping order is as follows: |
| this |
|
| this |
|
| this |
|
| this |
|
| this |
|
| this |
|
| this |
|
| Float32Array |
|
| this |
|
Public Properties
a: number = 1
b: number = 0
c: number = 0
d: number = 1
tx: number = 0
ty: number = 0
Public Methods
append(matrix: PIXI.Matrix) → {this}
Appends the given Matrix to this Matrix.
| Name | Type | Description |
|---|---|---|
| matrix | PIXI.Matrix |
The matrix to append. |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
apply(pos: IPointData, newPos: PIXI.Point) → {PIXI.Point}
Get a new position with the current transformation applied. Can be used to go from a child's coordinate space to the world coordinate space. (e.g. rendering)
| Name | Type | Attributes | Description |
|---|---|---|---|
| pos | IPointData |
The origin |
|
| newPos | PIXI.Point |
<optional> |
The point that the new position is assigned to (allowed to be same as input) |
| Type | Description |
|---|---|
| PIXI.Point |
The new point, transformed through this matrix |
applyInverse(pos: IPointData, newPos: PIXI.Point) → {PIXI.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 child's coordinate space. (e.g. input)
| Name | Type | Attributes | Description |
|---|---|---|---|
| pos | IPointData |
The origin |
|
| newPos | PIXI.Point |
<optional> |
The point that the new position is assigned to (allowed to be same as input) |
| Type | Description |
|---|---|
| PIXI.Point |
The new point, inverse-transformed through this matrix |
clone() → {PIXI.Matrix}
Creates a new Matrix object with the same values as this one.
| Type | Description |
|---|---|
| PIXI.Matrix |
A copy of this matrix. Good for chaining method calls. |
copyFrom(matrix: PIXI.Matrix) → {PIXI.Matrix}
Changes the values of the matrix to be the same as the ones in given matrix
| Name | Type | Description |
|---|---|---|
| matrix | PIXI.Matrix |
The matrix to copy from. |
| Type | Description |
|---|---|
| PIXI.Matrix |
this |
copyTo(matrix: PIXI.Matrix) → {PIXI.Matrix}
Changes the values of the given matrix to be the same as the ones in this matrix
| Name | Type | Description |
|---|---|---|
| matrix | PIXI.Matrix |
The matrix to copy to. |
| Type | Description |
|---|---|
| PIXI.Matrix |
The matrix given in parameter with its values updated. |
decompose(transform: PIXI.Transform) → {PIXI.Transform}
Decomposes the matrix (x, y, scaleX, scaleY, and rotation) and sets the properties on to a transform.
| Name | Type | Description |
|---|---|---|
| transform | PIXI.Transform |
The transform to apply the properties to. |
| Type | Description |
|---|---|
| PIXI.Transform |
The transform with the newly applied properties |
fromArray(array: number[]) → {void}
Creates a Matrix object based on the given array. The Element to Matrix mapping order is as follows:
a = array[0] b = array[1] c = array[3] d = array[4] tx = array[2] ty = array[5]
| Name | Type | Description |
|---|---|---|
| array | number[] |
The array that the matrix will be populated from. |
| Type | Description |
|---|---|
| void |
identity() → {this}
Resets this Matrix to an identity (default) matrix.
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
invert() → {this}
Inverts this matrix
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
prepend(matrix: PIXI.Matrix) → {this}
Prepends the given Matrix to this Matrix.
| Name | Type | Description |
|---|---|---|
| matrix | PIXI.Matrix |
The matrix to prepend |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
rotate(angle: number) → {this}
Applies a rotation transformation to the matrix.
| Name | Type | Description |
|---|---|---|
| angle | number |
The angle in radians. |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
scale(x: number, y: number) → {this}
Applies a scale transformation to the matrix.
| Name | Type | Description |
|---|---|---|
| x | number |
The amount to scale horizontally |
| y | number |
The amount to scale vertically |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
set(a: number, b: number, c: number, d: number, tx: number, ty: number) → {this}
Sets the matrix properties.
| Name | Type | Description |
|---|---|---|
| a | number |
Matrix component |
| b | number |
Matrix component |
| c | number |
Matrix component |
| d | number |
Matrix component |
| tx | number |
Matrix component |
| ty | number |
Matrix component |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
setTransform(x: number, y: number, pivotX: number, pivotY: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number) → {this}
Sets the matrix based on all the available properties
| Name | Type | Description |
|---|---|---|
| x | number |
Position on the x axis |
| y | number |
Position on the y axis |
| pivotX | number |
Pivot on the x axis |
| pivotY | number |
Pivot on the y axis |
| scaleX | number |
Scale on the x axis |
| scaleY | number |
Scale on the y axis |
| rotation | number |
Rotation in radians |
| skewX | number |
Skew on the x axis |
| skewY | number |
Skew on the y axis |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |
toArray(transpose: boolean, out: Float32Array) → {Float32Array}
Creates an array from the current Matrix object.
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| transpose | boolean |
Whether we need to transpose the matrix or not |
||
| out | Float32Array |
<optional> |
new Float32Array(9) |
If provided the array will be assigned to out |
| Type | Description |
|---|---|
| Float32Array |
The newly created array which contains the matrix |
translate(x: number, y: number) → {this}
Translates the matrix on the x and y.
| Name | Type | Description |
|---|---|---|
| x | number |
How much to translate x by |
| y | number |
How much to translate y by |
| Type | Description |
|---|---|
| this |
This matrix. Good for chaining method calls. |