2011-05-30 38 views
3

我将一个蒙版分配给一个简单的带有方形位图的MovieClip。面具是由艺术家绘制的相当复杂的形状。在Flash CS5中生成的遮罩位图看起来正确,但是当我在Flash Player 10.2中运行SWF时,遮罩已损坏。让我试着描述它:复杂的蒙版绘制损坏的形状

形状本身大部分是可见的,但是由此产生的图像的某些扫描线(水平线)“漏”到掩模形状的右侧,一直到掩模形状的右边界平方位图。有些行也缺失。 这里有一个形象:

enter image description here

左侧的形状是用于破解的位图,你可以看到在右边,掩盖,有瑕疵的面具。

使用口罩时我们应该注意哪些限制?闪光灯是否仅处理简单形状的遮罩?

回答

0

我最终创建了一个Pixel Bender着色器滤镜来代替它,因为那样你就可以将源像素中的Alpha复制到目标像素,然后将其他纹理混合到源图像中,但是看起来合适。性能并不差,因为您可以将它全部缓存为位图。

3

您是否尝试将掩码和遮罩的内容都设置为缓存为位图?

Flash CS5的最新版本在设计时使用Flash Player来显示其自己的内容,因此如果它显示应该显示的遮罩,则必须在遮罩后面发生某些操作。

+0

设置两个对象cacheAsBitmap = true可修复问题!谢谢! 我正在使用Flash CS5,而不是CS5.5。 – Toxikman 2011-05-30 20:45:56

+0

那么,Flash CS5也使用Flash Player在设计时显示内容。另外,在使用cacheAsBitmap时,您应该知道它的缺点,例如,如果旋转,缩放或设置对象内容的动画效果,它将使Flash消耗大量的CPU和内存。 – Neverbirth 2011-05-30 21:31:26

+0

谢谢,我知道cacheAsBitmap的问题。被遮罩的对象是一个较大的MovieClip的组件,我们正在执行自己的位图缓存,所以性能不是一个大问题。但是,奇怪的是,即使我在FLA中使用这个对象作为掩码时,它在CS5中看起来也不错,但是当我测试SWF时,掩码渲染会被损坏。因此,如果你在设计时使用FP说到CS5是真的,那么也许它使用的FP版本没有FP 10.2中的错误 – Toxikman 2011-05-31 05:12:43