我正在尝试将遮罩应用于舞台上的所有对象,除了一对。有很多不同的对象,它们的数量将来会发生变化,因此我希望动态完成屏蔽。
我写了这段代码:
var i;
for (i = 0; i < this.numChildren; i++) {
if (this.getChildAt(i).name!="stage_kelp_bg" && this.getChildAt(i).name!="magnifier_mask") {
this.getChildAt(i).mask = this.magnifier_mask;
}
}
上面的代码在文档类的构造函数方法中。只需说明:
this.stage_kelp.mask = this.magnifier_mask;
完美无瑕地工作,但仅限于那一个对象。知道什么是错的吗?
不会抛出任何错误,对象只是不会被掩盖。
答案 0 :(得分:1)
进一步的研究表明,我不能将1个面具应用于多个物体。我必须为每个对象设置一个掩码,或者将所有对象放入一个容器中并掩盖该容器。
显然,您可以使用图层来屏蔽时间轴上的多个对象,但如果不将所有对象添加到一个容器,则无法以编程方式执行此操作。遗憾的是,如果不对整个应用程序进行重新编码,我就无法做到这一点,因此我将使用时间轴来掩盖事物。
答案 1 :(得分:1)
我建议你最好将所有的动画片段移动到一个动画片段中。如果您的情况可行,这将更容易。
答案 2 :(得分:0)
for each
for (var mc:movieClicp in this){
mc.mask=mask_}