如何以编程方式删除Flash Professional中定义的掩码?
我意识到这是一个全新的问题,但它让我发疯 在Flash Professional中,我有一个电影剪辑,高1000像素,宽50像素。我把它放在一个掩模层里,掩模高100px,宽50px。在我的程序中,我垂直移动电影剪辑,正如预期的那样,它被屏蔽,这样我只能垂直地看到100px 我的问题是:如何从我的电影剪辑中移除面具?在Flash Builder中调试检查电影剪辑时,其.mask属性为null。但它是伪装的 我错过了什么 提前感谢,如何以编程方式删除Flash Professional中定义的掩码?,flash,actionscript,flash-cs5,mask,Flash,Actionscript,Flash Cs5,Mask,我意识到这是一个全新的问题,但它让我发疯 在Flash Professional中,我有一个电影剪辑,高1000像素,宽50像素。我把它放在一个掩模层里,掩模高100px,宽50px。在我的程序中,我垂直移动电影剪辑,正如预期的那样,它被屏蔽,这样我只能垂直地看到100px 我的问题是:如何从我的电影剪辑中移除面具?在Flash Builder中调试检查电影剪辑时,其.mask属性为null。但它是伪装的 我错过了什么 提前感谢, Greg通过actionscript检查掩码是否为MovieCl
Greg通过actionscript检查掩码是否为MovieClip的父项:
MovieClip(movicClipInstanceName_mc.parent).mask
如果是,则将其设置为。掩码=空代码>
通常,我在时间线中声明的任何掩码都不会在AS代码中弄乱,因为对我来说,它是一个永久性条件。如果您希望以后通过编程方式对其进行更改,我建议您在AS代码本身中设置mask属性
movicClipInstanceName_mc.mask = someOtherMovieClipInstanceThatIsMyMask_mc;
对我来说,这样做感觉干净多了,而且我觉得我对它有更多的控制。给大电影剪辑一个实例名(比如big_mc),然后
big_mc.mask = null;
格雷格是对的。您可能认为可以通过DisplayObject的mask属性访问FlashIDE中设置的掩码,但不能。在flash中设置的掩码在actionscript中始终为空
去除面具的黑客版本是,你可以尝试
displayObjectWithMaskOnIt.parent.removeChild(displayObjectWithMaskOnIt)
然后
displayObjectWithMaskOnIt.parent.addChild(displayObjectWithMaskOnIt).
从
很简单:mask属性是一个完全不同的mask
而不是时间面具
“遮罩”属性允许您将任何对象用作任何其他对象的遮罩
对象(请记住将它们放在同一个显示树或其他对象上
将变得荒谬)
时间轴遮罩将给定深度范围指定为被遮罩
通过特定的对象
这两个系统根本不通信,但它们的工作相同
如果您想访问
时间线掩码
因此,时间轴遮罩使用不同的机制,与遮罩属性分离。这就是你无法访问它们的原因。正如其他人所提到的,您可能可以通过删除和添加子项来间接停用时间线掩码,但除了解析SWF文件之外,我认为没有任何方法可以首先检测对象是否被时间线掩码屏蔽。我知道这不是您要寻找的答案,但这将删除掩码。
如果创建一个单独的剪辑以将遮罩推到其上,将从之前遮罩的对象中移除遮罩,
例如
object1.mask=mask1;
然后将代码添加到新对象
object2.mask=mask1;
因为一个对象一次只能屏蔽一个对象,所以它现在将屏蔽新对象,从而有效地从旧对象中删除屏蔽感谢您的回复,不幸的是,父对象的屏蔽也是空的。在本例中,父级是主要的电影剪辑/舞台。我的蒙版电影剪辑有一个实例名,我甚至尝试将蒙版本身制作成电影剪辑。没有运气。。。蒙版层似乎根本不符合.mask属性(据我所知),谢谢。。电影剪辑已具有实例名称。它的掩码为空。有关更多信息,请参阅我对ToddBFisher的回复。更好的解决方案是从显示列表中删除掩码本身。问题是掩码不在显示列表中。例如,我有一个用位图(一张精灵图标)定义的符号,然后它被一个只有矩形的图层屏蔽。在运行时,实例具有空掩码,并且它包含的唯一子对象是两个形状对象。。。所以我甚至不知道它是如何显示位图的,除非它在编译时将位图光栅化为某种静态形状对象。显然有一些令人讨厌的神秘优化正在发生。仍然没有找到答案,不幸的是,我甚至不能在Adobe论坛上发表文章,因为截至昨天(2014年5月15日),Adobe云服务在全球范围内已经停止。无法登录论坛或应用程序。史诗般的失败。一旦我弄清楚authortime面具是怎么回事,我会在这里发布答案。