TransformMatrix

.GameObjects.Components. TransformMatrix

用于渲染的显示转换的矩阵. 它是这样表示的: ``` | a | c | tx | | b | d | ty | | 0 | 0 | 1 | ```

Constructor

new TransformMatrix(aopt, bopt, copt, dopt, txopt, tyopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Default Description
a number <optional>
1 刻度值.
b number <optional>
0 偏斜Y值.
c number <optional>
0 偏斜X值.
d number <optional>
1 Y刻度值.
tx number <optional>
0 平移X值.
ty number <optional>
0 平移Y值.

Members

a :number

Since:
  • 3.4.0
刻度值.
Type:
  • number

b :number

Since:
  • 3.4.0
偏斜Y值.
Type:
  • number

c :number

Since:
  • 3.4.0
偏斜X值.
Type:
  • number

d :number

Since:
  • 3.4.0
Y刻度值.
Type:
  • number

decomposedMatrix :object

Since:
  • 3.0.0
分解后的矩阵.
Type:
  • object

e :number

Since:
  • 3.11.0
平移X值.
Type:
  • number

f :number

Since:
  • 3.11.0
平移Y值.
Type:
  • number

matrix :Float32Array

Since:
  • 3.0.0
矩阵值.
Type:
  • Float32Array

(readonly) rotation :number

Since:
  • 3.4.0
矩阵的旋转.值以弧度为单位.
Type:
  • number

(readonly) rotationNormalized :number

Since:
  • 3.19.0
矩阵的旋转,归一化为相位器右旋 顺时针旋转空间.值以弧度为单位.
Type:
  • number

(readonly) scaleX :number

Since:
  • 3.4.0
矩阵的分解水平比例.该值始终为正值.
Type:
  • number

(readonly) scaleY :number

Since:
  • 3.4.0
矩阵的分解垂直比例.该值始终为正值.
Type:
  • number

tx :number

Since:
  • 3.4.0
平移X值.
Type:
  • number

ty :number

Since:
  • 3.4.0
平移Y值.
Type:
  • number

Methods

applyInverse(x, y, outputopt) → {Phaser.Math.Vector2}

Since:
  • 3.12.0
取 `x` 和 `y` 值,并在 `output` 向量中返回一个新位置,该位置与 应用了变换的当前矩阵. 可用于将点从世界空间转换到本地空间.
Parameters:
Name Type Attributes Description
x number 要翻译的x位置.
y number 要翻译的y位置.
output Phaser.Math.Vector2 <optional>
存储结果的矢量2或点状对象.
Returns:
The coordinates, inverse-transformed through this matrix.
Type
Phaser.Math.Vector2

applyITRS(x, y, rotation, scaleX, scaleY) → {this}

Since:
  • 3.0.0
在矩阵上应用恒等,平移,旋转和缩放操作.
Parameters:
Name Type Description
x number 横向翻译.
y number 垂直翻译.
rotation number 以弧度表示的旋转角度.
scaleX number 水平刻度.
scaleY number 垂直刻度.
Returns:
这个转换矩阵.
Type
this

copyFrom(src) → {this}

Since:
  • 3.11.0
设置该矩阵的值以复制给定矩阵的值.
Parameters:
Name Type Description
src Phaser.GameObjects.Components.TransformMatrix 要从中复制的源矩阵.
Returns:
这个转换矩阵.
Type
this

copyFromArray(src) → {this}

Since:
  • 3.11.0
将该矩阵的值设置为复制给定数组的值. 其中数组索引0,1,2,3,4和5映射到a,b,c,d,e和f.
Parameters:
Name Type Description
src array 要设置到此矩阵中的值数组.
Returns:
这个转换矩阵.
Type
this

copyToArray(outopt) → {array}

Since:
  • 3.12.0
将该矩阵中的值复制到给定的数组中. 其中数组索引0,1,2,3,4和5映射到a,b,c,d,e和f.
Parameters:
Name Type Attributes Description
out array <optional>
要将矩阵值复制到的数组.
Returns:
一个数组,其中元素0到5包含该矩阵的值.
Type
array

copyToContext(ctx) → {CanvasRenderingContext2D}

Since:
  • 3.12.0
将矩阵中的值复制到给定的画布渲染上下文中. 这将使用上下文转换方法.
Parameters:
Name Type Description
ctx CanvasRenderingContext2D 要将矩阵值复制到的画布渲染上下文.
Returns:
画布渲染上下文.
Type
CanvasRenderingContext2D

decomposeMatrix() → {object}

Since:
  • 3.0.0
使用二维码分解将该矩阵分解为其平移,缩放和旋转值. 必须按照以下顺序应用结果,以重现当前矩阵: 平移->旋转->缩放
Returns:
分解的矩阵.
Type
object

destroy()

Since:
  • 3.4.0
销毁此转换矩阵.

getCSSMatrix() → {string}

Since:
  • 3.12.0
返回一个字符串,该字符串可在CSS转换调用中用作 `matrix` 属性.
Returns:
包含CSS变换矩阵值的字符串.
Type
string

getX(x, y) → {number}

Since:
  • 3.12.0
返回矩阵的X分量乘以给定值. 这个和 `x * a + y * c + e` 一样.
Parameters:
Name Type Description
x number x值.
y number y值.
Returns:
计算出的x值.
Type
number

getXRound(x, y, roundopt) → {number}

Since:
  • 3.50.0
返回矩阵的X分量乘以给定值. 这与 `x * a + y * c + e` 相同,可选择通过 `Math.round` 传递.
Parameters:
Name Type Attributes Default Description
x number x值.
y number y值.
round boolean <optional>
false 数学.对结果取整?
Returns:
计算出的x值.
Type
number

getY(x, y) → {number}

Since:
  • 3.12.0
返回该矩阵的Y分量乘以给定值. 这个和 `x * b + y * d + f` 一样.
Parameters:
Name Type Description
x number x值.
y number y值.
Returns:
计算出的y值.
Type
number

getYRound(x, y, roundopt) → {number}

Since:
  • 3.50.0
返回该矩阵的Y分量乘以给定值. 这与 `x * b + y * d + f` 相同,可选择通过 `Math.round` 传递.
Parameters:
Name Type Attributes Default Description
x number x值.
y number y值.
round boolean <optional>
false 数学.对结果取整?
Returns:
计算出的y值.
Type
number

invert() → {this}

Since:
  • 3.0.0
反转矩阵.
Returns:
这个转换矩阵.
Type
this

loadIdentity() → {this}

Since:
  • 3.0.0
将矩阵重置为单位矩阵.
Returns:
这个转换矩阵.
Type
this

multiply(rhs, outopt) → {this|Phaser.GameObjects.Components.TransformMatrix}

Since:
  • 3.0.0
将这个矩阵乘以给定的矩阵. 如果给出了一个矩阵,那么结果将存储在其中. 如果没有给出,将在适当的位置更新该矩阵. 如果你不想改变这个矩阵,就用一个矩阵.
Parameters:
Name Type Attributes Description
rhs Phaser.GameObjects.Components.TransformMatrix 要乘的矩阵.
out Phaser.GameObjects.Components.TransformMatrix <optional>
存储结果的可选矩阵.
Returns:
如果在参数中给出,要么是这个转换矩阵,要么是 `out` 矩阵.
Type
this | Phaser.GameObjects.Components.TransformMatrix

multiplyWithOffset(src, offsetX, offsetY) → {this}

Since:
  • 3.11.0
将该矩阵乘以给定的矩阵,包括偏移量. 偏移值被添加到tX值: `offsetX * a +偏移* c + tx` . 偏移量被添加到tY值中: `offsetY * b +偏移量* d + ty` .
Parameters:
Name Type Description
src Phaser.GameObjects.Components.TransformMatrix 要从中复制的源矩阵.
offsetX number 要计入乘法的水平偏移量.
offsetY number 乘法中考虑的垂直偏移.
Returns:
这个转换矩阵.
Type
this

rotate(angle) → {this}

Since:
  • 3.0.0
旋转矩阵.
Parameters:
Name Type Description
angle number 以弧度表示的旋转角度.
Returns:
这个转换矩阵.
Type
this

scale(x, y) → {this}

Since:
  • 3.0.0
缩放矩阵.
Parameters:
Name Type Description
x number 水平刻度值.
y number 垂直刻度值.
Returns:
这个转换矩阵.