需要反映包含对象的组,如图所示。
我有一张示例图片,说明了我目前的进展情况。
目标:对象的反射应沿x轴和y轴进行,如下图所示
答案 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.