为什么下面两个代码块的结果不一样?
使用matrix.scale()
const sprite:Sprite = new Sprite;
const matrix:Matrix = new Matrix;
sprite.transform.matrix = matrix;
matrix.translate(100, 50);
matrix.scale(2, 1);
sprite.transform.matrix = matrix;
trace(sprite.transform.matrix.toString());
设置sprite.scaleX
const sprite:Sprite = new Sprite;
const matrix:Matrix = new Matrix;
sprite.transform.matrix = matrix;
matrix.translate(100, 50);
sprite.transform.matrix = matrix;
sprite.scaleX = 2;
trace(sprite.transform.matrix.toString());
答案 0 :(得分:0)
我有个主意。
trace(sprite.transform.matrix == sprite.transform.matrix);
结果是错误的。这意味着sprite会在获取矩阵时组成矩阵。
可能如下所示。
matrix.createBox(sprite.scaleX, sprite.scaleY, sprite.rotation, sprite.x, sprite.y);
首先缩放,然后旋转,最后翻译。 它有所不同。