我有以下问题:我在Group上绘制一个形状,用作蒙版。然后我使用Rotate3D在x,y,z中旋转图像,并使用Group作为图像的蒙版,但结果不是我想要的,因为一旦Group成为Image的蒙版,它也会获得它的旋转。 我想要实现的是根据我绘制的形状获得旋转图像的一部分。如何在不旋转的情况下应用面具?或者这可以通过其他方式完成吗?
以下是代码:
grpMask = new Group();
g = grpMask.graphics;
g.lineStyle(0, 0x00FF00);
g.moveTo(points[0].x, points[0].y);
g.beginFill(0x00FF00, .3);
for (var i:int; i < points.length - 1; i++)
{
g.lineTo(points[i + 1].x, points[i + 1].y);
}
g.endFill();
grpCanvas.addElement(grpMask);
然后我设置了imgTarget.mask = grpMask
。为了imgTarget,已经应用了几个Rotate3D效果,不幸的是传递给了面具。
答案 0 :(得分:0)
一种解决方案是将正在旋转的对象添加到容器类,如Sprite
或Group
。然后将蒙版应用于容器,而不是旋转的对象:
var container:Group = new Group();
container.addElement(roatatedObject);
container.mask = maskObject;
container.addElement(maskObject);
或
var container:Sprite = new Sprite();
container.addChild(rotatedObject);
container.mask = maskObject;
container.addChild(maskObject);