检测是否存在时间线掩码

问题描述:

我在Flash上​​遇到了非常奇怪的行为。 如果您在Flash IDE中创建一个与之关联的面具形状,保存它,然后将其导出为SWF,你不能编程知道有口罩(displayObject.mask为null)检测是否存在时间线掩码

这里有一个简单的测试脚本证明:

//executed on enter_frame with the root object 
function test(d:DisplayObject) : Void 
{ 
    if (Std.is(d, DisplayObjectContainer)) 
    { 
     var s:DisplayObjectContainer = cast d; 
     for (i in 0...s.numChildren) 
      test(s.getChildAt(i)); 
    } 

    if (d.mask != null) 
     trace("FOUND " + d.name); 
} 

的语法是有点不同,因为它是haXe的,但它会显示同样的香草AS3,没有面具发现

痕迹!我只是需要以不同的方式处理附加蒙版的情况,那么有什么方法/解决这个奇怪的问题吗?

很肯定这是不可能的...这是一个线程来支持我:

http://www.actionscript.org/forums/archive/index.php3/t-184762.html