Matrix可以控制显示对象的平移(x 和 y 重新定位)、旋转、缩放和倾斜:
var m:Matrix = new Matrix(scaleX, rotateSkew0, rotateSkew1, scaleY, translateX, translateY);
DisplayObject.transform.matrix = m;
这种写法在Flash中很方便,在其他框架下可能不支持transform或者matrix的方式去设置,因此需要从matrix里转换到旋转角度等。
看下带旋转和缩放后的Matrix数据。
位移是可以从matrix直接获得的,缩放和旋转都需要重新计算:
var px:Point = matrix.deltaTransformPoint(new Point(0, 1));
rotation = ((180 / Math.PI) * Math.atan2(px.y, px.x) - 90);if(rotation < 0) { rotation = 360 + rotation; }
xscale = Math.sqrt(scaleX * scaleX + rotateSkew0 * rotateSkew0);
yscale = Math.sqrt(rotateSkew1 * rotateSkew1 + scaleY * scaleY);
本文详细探讨了Matrix在Flash中的使用方法,包括如何通过Matrix控制显示对象的平移、旋转、缩放和倾斜,并提供了从Matrix转换到旋转角度和缩放比例的具体步骤。同时,解释了如何从Matrix中提取位移、缩放和旋转信息。

2828

被折叠的 条评论
为什么被折叠?



