0

在将蒙版应用到 MovieClip 时,我目前正在执行以下操作:

mc1.cacheAsBitmap = true;
_mask.cacheAsBitmap = true;
mc1.mask = _mask;

效果很好,但是...

mc1 是一个复杂的矢量动画,将其缓存为位图以掩盖它对我所看到的和已阅读的内存有相当大的影响。

他们是另一种实现口罩的方式吗?或者一种优化通常解决方案的方法?

谢谢

编辑 mask 和 mc1 都是 MovieClips,并且它们已经被添加到 stage 中,mask 是一个渐变。我正在使用 Flash CS6,movieclip 和 mask 都被添加到时间轴中,它们正在被动画化

4

1 回答 1

0

您可以使用http://www.greensock.com/blitmask/

从文档中引用:

我不能将目标 DisplayObject 的 cacheAsBitmap 属性设置为 true 并获得相同的结果吗?为什么使用 BlitMask?

如果您将 DisplayObject 的 cacheAsBitmap 属性设置为 true,Flash 会对该对象进行位图捕获,以便在您移动它时(仅更改 x 和/或 y 属性),不需要再次重新光栅化文本和矢量在被渲染到屏幕之前。但是,如果您将它们屏蔽为仅显示区域的一小部分,Flash 仍然需要关注每一帧上的额外像素。然而,BlitMask 只关心较小的蒙版区域(当然是在初始捕获之后),这使 Flash 不必考虑额外的像素。

于 2013-02-18T12:49:31.467 回答