Issues with Flash8 Alpha Mask
又逛了一遍gotoAndLearn,这个网站还是很勤奋的,不时的就会有更新的教程,还新加了论坛。推荐大家加入他们的邮件列表,这样就可以第一时间得到更新的消息。
这次看到了一个Flash 8 Alpha遮罩的教程,还是挺有启发的。
先来认识一下CacheAsBitmap属性:
如果设置为 true,则 Flash Player 将缓存影片剪辑的内部位图表示。这可以提高包含复杂矢量内容的影片剪辑的性能。具有已缓存位图的影片剪辑的所有矢量数据都会被绘制到位图而不是主舞台。然后,将位图复制到主舞台,作为对齐到最接近像素边界的未拉伸、未旋转的像素。对于父级对象,像素按一对一进行映射。如果位图的边界发生更改,则将重新创建位图而不会拉伸它。
除非将 cacheAsBitmap 属性设置为 true,否则不会创建内部位图。将影片剪辑的 cacheAsBitmap 属性设置为 true 后,呈现不会更改,但是,影片剪辑将自动执行像素对齐。动画速度可能会大大加快,具体取决于矢量内容的复杂性。
无论何时将滤镜应用于影片剪辑(当它的 filter 数组不为空时),cacheAsBitmap 属性将自动设置为 true。如果影片剪辑具有应用到它的滤镜,该影片剪辑的 cacheAsBitmap 将报告为 true,即使您将该属性设置为 false。如果清除影片剪辑的所有滤镜,则 cacheAsBitmap 设置将更改为它上次的"设置"。
在下列情况下,即使将 cacheAsBitmap 属性设置为 true,影片剪辑也不使用位图,而是从矢量数据呈现:
- 位图太大:在任一方向上大于 2880 像素。
- 位图内存分配失败(由于内存不足的错误)。
最好将 cacheAsBitmap 属性与主要具有静态内容且不频繁缩放和旋转的影片剪辑一起使用。对于这样的影片剪辑,在转换影片剪辑时(更改其 x 和 y 位置时),cacheAsBitmap 可以提高性能。




