我想让一个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上打个洞,只做一个普通的面具。
答案 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以供参考。