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. |