Commit c4311fa4 authored by rockyl's avatar rockyl

增加affectChildren属性,矩阵是否影响子节点

parent 855b04e7
...@@ -52,6 +52,12 @@ export default class Transform extends ScillaComponent { ...@@ -52,6 +52,12 @@ export default class Transform extends ScillaComponent {
return this._renderAlpha; return this._renderAlpha;
} }
/**
* 影响子节点
*/
@dirtyFieldTrigger
affectChildren: boolean = true;
/** /**
* 尺寸 * 尺寸
* 对于不同的子类渲染都有不同的效果 * 对于不同的子类渲染都有不同的效果
...@@ -173,7 +179,7 @@ export default class Transform extends ScillaComponent { ...@@ -173,7 +179,7 @@ export default class Transform extends ScillaComponent {
const matrix = this._localMatrix; const matrix = this._localMatrix;
matrix.identity(); matrix.identity();
if (this.order = MATRIX_ORDER.ROTATE_SCALE) { if (this.order === MATRIX_ORDER.ROTATE_SCALE) {
matrix.scale(sx, sy); matrix.scale(sx, sy);
matrix.rotate(rotation * Math.PI / 180); matrix.rotate(rotation * Math.PI / 180);
} else { } else {
...@@ -221,13 +227,18 @@ export default class Transform extends ScillaComponent { ...@@ -221,13 +227,18 @@ export default class Transform extends ScillaComponent {
* 获取矩阵 * 获取矩阵
*/ */
getMatrix(withPivot: boolean = false, invert: boolean = false): Matrix { getMatrix(withPivot: boolean = false, invert: boolean = false): Matrix {
let matrix = withPivot ? this._globalPivotMatrix : this._globalMatrix; let matrix;
if (invert) { if(this.affectChildren){
const invertMatrix = this._globalInvertMatrix; matrix = withPivot ? this._globalPivotMatrix : this._globalMatrix;
invertMatrix.copyFrom(matrix); if (invert) {
invertMatrix.invert(); const invertMatrix = this._globalInvertMatrix;
invertMatrix.copyFrom(matrix);
return invertMatrix; invertMatrix.invert();
return invertMatrix;
}
}else{
matrix = this.entity.parent.getComponent(Transform).getMatrix(withPivot, invert);
} }
return matrix; return matrix;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment