学习 Flash 中的 ActionScript 2.0 |
|
|
|
| 使用影片剪辑 > 关于使用 ActionScript 缓存和滚动影片剪辑 | |||
如果 Flash 中的设计尺寸增大,无论创建的是应用程序还是复杂的脚本动画,都需要考虑性能和优化。如果您的内容保持为静态(如矩形影片剪辑),Flash 将不会优化该内容。因此,在更改矩形影片剪辑的位置时,Flash 将在 Flash Player 7 及早期版本中重绘整个矩形。
在 Flash Player 8 中,可以缓存指定的影片剪辑和按钮以提高 SWF 文件的性能。影片剪辑或按钮是一个表面,实际上是实例的矢量数据的位图版本,矢量数据是一种在 SWF 文件的过程不需要有太多更改的数据。因此,打开了缓存的实例在播放 SWF 文件的过程中不会不断地重绘,这样 SWF 文件就能快速地呈现。
|
注意 |
可以更新矢量数据,这时将重新创建表面。因此,缓存在表面中的矢量数据不需要在整个 SWF 文件中保持一样。 |
可以使用 ActionScript 来启用缓存或滚动和控制背景。可以使用属性检查器对影片剪辑实例启用缓存。若要在不使用 ActionScript 的情况下缓存影片剪辑或按钮,可以在属性检查器中选择"使用运行时位图缓存"选项。
下表包含了对影片剪辑实例的新属性的简要说明:
|
属性 |
说明 |
|---|---|
|
cacheAsBitmap |
使影片剪辑实例缓存其自身的位图表示。Flash 为该实例创建一个 surface 对象,该对象是一个缓存的位图,而不是矢量数据。如果要更改影片剪辑的范围,则表面会重新构建而不是重新调整。有关更多信息和示例,请参见缓存影片剪辑。 |
|
opaqueBackground |
使您可以指定不透明影片剪辑实例的背景颜色。如果将此属性设置为数值,则影片剪辑实例将具有一个不透明(非透明)的表面。不透明位图不具有 Alpha 通道(透明度),可以更快地呈现。有关更多信息和示例,请参见设置影片剪辑的背景。 |
|
scrollRect |
使您可以快速滚动影片剪辑内容并可以用一个窗口查看更大的内容。将裁切影片剪辑内容,且实例会按指定的宽度、高度和滚动偏移而滚动。这样,用户可以快速滚动影片剪辑内容,并用一个窗口显示比"舞台"区域更大的内容。显示在实例中的文本字段和复杂内容可以更快速地滚动,因为 Flash 不需要重新生成整个影片剪辑矢量数据。有关更多信息和示例,请参见 |
这三个属性互相独立,但是,当对象被缓存为位图时,opaqueBackground 和 scrollRect 属性的作用最佳。将 cacheAsBitmap 设置为 true 时,您只能看到 opaqueBackground 和 scrollRect 属性的性能优点。
若要创建也可以滚动的表面,必须设置影片剪辑实例的 cacheAsBitmap 和 scrollRect 属性。表面可以嵌套在其它表面之内。表面将把位图复制到它的父表面上。
有关 Alpha 通道遮罩(要求将 cacheAsBitmap 属性设置为 true)的信息,请参见关于 Alpha 通道遮罩。
|
注意 |
不能将缓存直接应用于文本字段。需要将文本放在影片剪辑中以利用此功能。有关示例,请参见 Flash install directory\Samples and Tutorials\Samples\ActionScript\FlashType 中的范例文件。 |
您可以找到对应的范例源文件,该文件说明了如何对实例应用位图缓存。可以在硬盘上的 Samples 文件夹中找到名为 cacheBitmap.fla 的文件。
您也可以找到对应的范例源文件,该文件说明了如何对滚动文本应用位图缓存。可以在硬盘上的 Samples 文件夹中找到范例源文件 flashtype.fla。
|
|
|
|