在ActionScript 3中屏蔽

时间:2013-02-17 02:21:40

标签: actionscript-3

我试图理解actionscript中的面具。除了代码的一部分,我似乎总是有意义

function mouseM(event:MouseEvent):void {
if (mouseclick == 1) {
mask_mc.graphics.beginFill(0x000000);
mask_mc.graphics.drawEllipse(mouseX, mouseY, 70, 60);
mask_mc.graphics.endFill();
}
}

我不确定如何确切地问这个问题,但在这里。为什么面具有“开始填充”黑色?不会用黑色绘制图像(我知道它没有,它只是揭示它)? beginfill的确切功能是什么(除了揭示图像lool)?比如它究竟是如何工作的?对不起,如果它听起来很荒谬......但是这部分代码真的让我误解了掩码

1 个答案:

答案 0 :(得分:1)

您正在做的是绘制一个用作蒙版的形状。在这种情况下,一个圆圈。

它的颜色并不重要,因为Flash只对面具的形状感兴趣,而不是颜色。

绘制圆后,Flash会检查圆圈的哪个部分与您正在遮挡的对象重叠,这样圆圈覆盖的每个像素都将不可见。我猜它应该真的被称为反面具,因为圆圈决​​定了你的图像的哪些部分不会被掩盖,但它只是成为调用圆(或你使用的任何形状)的一般惯例)面具。

同样,您只是创建一个用作蒙版的形状。设置颜色只是对象基本上可以存在..因为你不能完全有一个透明的圆圈。

随意将颜色更改为任何颜色,你会发现它没有任何区别,形状是最重要的。