沿x和y轴反射物体

时间:2014-03-14 12:35:17

标签: actionscript-3 flex flex4.5

需要反映包含对象的组,如图所示。

我有一张示例图片,说明了我目前的进展情况。

enter image description here

目标:对象的反射应沿x轴和y轴进行,如下图所示

enter image description here

2 个答案:

答案 0 :(得分:1)

非常简单的方法:对于反射,您应该拥有将被反射的对象的副本。 可以通过myReflectedObject.scaleY = -1

进行反思
myReflectedObject.scaleY = -1;
myReflectedObject.alpha = 0.4;
//manage Y position accordingly

答案 1 :(得分:0)

简单代码如下所示:

copiedDisplayObject.scaleY = -1;
copiedDisplayObject.alpha = 0.4;

这实际上是一条线上反射的一个具体例子,其中线恰好是x轴。 (即y = 0x + 0)如果要反射另一条线,可以使用矩阵。下面的代码保留了显示对象上的先前转换,并将其反映在通过原点的线上。

var m:Number = 0.25; //example slope -- from line: y = mx + 0
var tmpMatrix = copiedDisplayObject.transform.matrix;
var relectMatrix:Matrix = new Matrix(1-m*m, 2*m, 2*m, m*m -1);
tmpMatrix.concat(relectMatrix);
copiedDisplayObject.transform.matrix = tmpMatrix;

我在这里找到了矩阵公式:math.stackexchange question.