flash as3理解矩阵

问题描述

| 我试图了解Flash的矩阵功能,因为我认为它将帮助我解决此问题: 我有一系列的箱子布置成4列。我想缩放一列(比方说乘以2),并弄清楚它的新宽度是多少,以便我可以适当地移动其他列,以使它们不被新缩放的列覆盖。如何使用矩阵找出答案?矩阵真的必要吗?如果需要,何时何地?似乎我可以将某物的宽度乘以2,然后使用该值移动其余所有列-为何矩阵更好?如果我使用下面的代码,如何使用理论矩阵来跟踪某物的宽度:
var matrix:Matrix = new Matrix();
var scaleFactor:Number = 2;
matrix.scale(scaleFactor,scaleFactor);
//need to trace an object\'s width assuming the matrix would be applied to it,without actually applying it here.
    

解决方法

使用there1ѭ和
scaleY
可以更轻松地完成您的工作,如下所示:
thing.scaleX = thing.scaleY = 2;
(我能想到的)使用矩阵来获得上述结果并没有任何真正的优势; DisplayObjects本身内置了更简单的功能。我唯一真正使用Matrix更改对象形状的时间是倾斜或剪切它。 就是说,矩阵作为ѭ4parameter的参数来操纵结果图形非常有用-我在这里相当多地使用
Matrix.translate()
。 我会看一下,因为它很清楚: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/geom/Matrix.html