在AS3 Flash上​​是否可以像制作窗口一样制作透明蒙版?

时间:2013-10-06 21:50:40

标签: actionscript-3 flash adobe mask movieclip

我想让一个movieclip在另一个动画片段上打个洞,比如在墙上放一个窗口。我可以创建一个与右键单击图层并屏蔽它的效果相同的蒙版,但这不是我想要的。我想做一个透明的洞。

我尝试过这样的事情:

mc1 = new green(); 
mc2 = new blue(); 

mc2.blendMode = BlendMode.ALPHA; 

addChild(mc1); 
addChild(mc2); 
mc2.cacheAsBitmap = true; 
mc1.mask = mc2; 

而且:

mc1.cacheAsBitmap = true;

mc2.cacheAsBitmap = true;

mc1.setMask(mc2);

第一个问题:代码给了我错误。 第二个问题:不要在movieclip上打个洞,只做一个普通的面具。

1 个答案:

答案 0 :(得分:3)

以下是您的代码,已修订:

var mc1 = new green(); //included var before variable name
var mc2 = new blue();

mc2.blendMode = BlendMode.ERASE; //this masking shape will ERASE what's below it
MovieClip(root).blendMode = BlendMode.LAYER; //setting root to LAYER so this works

addChild(mc1); 
addChild(mc2); 
mc2.cacheAsBitmap = true; 

看起来你正在尝试创建一个“倒置掩码”,其中掩码显示下的所有内容,除了它所在的位置。通过为mc2提供BlendMode.ERASE而非BlendMode.ALPHA的混合模式,可以实现此效果。

查看this article以供参考。