在以前版本的Flash中如果有大面积、多数量、复杂的图形在影片中移动的时候,往往会出现运动不流畅的现象,现在在Flash 8中添加的位图缓存功能就解决了这样的问题!
在将 MovieClip.cacheAsBitmap
或 Button.cacheAsBitmap
属性设置为 true
时,Flash Player 将缓存影片剪辑或按钮实例的内部位图表示形式。这可以提高包含复杂矢量内容的影片剪辑的性能。具有已缓存位图的影片剪辑的所有矢量数据都会被绘制到位图而不是主舞台上。
利用ActionScript来实现位图缓存有下面三个属性:
cacheAsBitmap:使影片剪辑实例缓存其自身的位图表示。Flash 为该实例创建一个 surface 对象,该对象是一个缓存的位图,而不是矢量数据。如果要更改影片剪辑的范围,则表面会重新构建而不是重新调整。
opaqueBackground:使您可以指定不透明影片剪辑实例的背景颜色。如果将此属性设置为数值,则影片剪辑实例将具有一个不透明(非透明)的表面。不透明位图不具有 Alpha 通道(透明度),可以更快地呈现。
scrollRect:使您可以快速滚动影片剪辑内容并可以用一个窗口查看更大的内容。将裁切影片剪辑内容,且实例会按指定的宽度、高度和滚动偏移而滚动。这样,用户可以快速滚动影片剪辑内容,并用一个窗口显示比"舞台"区域更大的内容。显示在实例中的文本字段和复杂内容可以更快速地滚动,因为 Flash 不需要重新生成整个影片剪辑矢量数据。
注意:
1。只有将cacheAsBitmap属性设置为true时opaqueBackground和scrollRect两个属性才具有最佳的效果。
2。在使用scrollRect属性式不能将缓存直接应用于文本字段。需要将文本放在影片剪辑中以利用此功能。
3。最好将 cacheAsBitmap
属性与主要包含静态内容且不频繁缩放和旋转的影片剪辑一起使用。