Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何将二维矩阵转换为变换_Actionscript 3_Flash_Matrix_2d_Graphic - Fatal编程技术网

Actionscript 3 如何将二维矩阵转换为变换

Actionscript 3 如何将二维矩阵转换为变换,actionscript-3,flash,matrix,2d,graphic,Actionscript 3,Flash,Matrix,2d,Graphic,我正在使用Flash AS3。 如果我有一组变换数据(x,y,scaleX,scaleY,skewX,skewY),我可以将其转换为矩阵: matrix.a = transform.scaleX * Math.cos(transform.skewY) matrix.b = transform.scaleX * Math.sin(transform.skewY) matrix.c = -transform.scaleY * Math.sin(transform.skewX); matrix.d =

我正在使用Flash AS3。 如果我有一组变换数据(x,y,scaleX,scaleY,skewX,skewY),我可以将其转换为矩阵:

matrix.a = transform.scaleX * Math.cos(transform.skewY)
matrix.b = transform.scaleX * Math.sin(transform.skewY)
matrix.c = -transform.scaleY * Math.sin(transform.skewX);
matrix.d = transform.scaleY * Math.cos(transform.skewX);
matrix.tx = transform.x;
matrix.ty = transform.y;
我的问题是现在我有了一个矩阵,我怎么能把它转换成变换?是否有任何库或框架提供了此类功能?

来自变换对象:

应用二维变换:创建矩阵对象,设置矩阵的二维变换,然后将显示对象的transform.Matrix属性指定给新矩阵对象。

因此,编辑对象现有变换矩阵的过程应如下所示:

var newMatrix:Matrix = aDisplayObject.transform.matrix
newMatrix.a = 123
aDisplayObject.transform.matrix = newMatrix

另一个问题是:我有两个带有变换的2D显示对象(x,y,scaleX,scaleY,skewX,skewY)。一个DisplayObject是另一个的子对象。如何计算与全局相关的子DisplayObject的变换?从另一边。我想计算变换concat(乘法)。谢谢通过阅读有关transform的文档,我怀疑第二个问题的答案可能是使用了。如果您需要更多信息,我建议您发布第二个单独的问题。