位图缓冲(Bitmap Caching)
一个Flash动画是如何播放的
其实播放,就是Flash Player把源文件内能看到的一帧一帧的画面绘制出来,当然绘制前需要处理每一帧内的代码
Flash播放快慢由什么决定
一个Flash显示的快慢,首先是通过制作者设置的FPS决定的,但是由于机器配置和操作系统的不同,可能设置过高的FPS在有些低配置机器上就达不到,而实际上,所有设置的FPS其实就是Flash能播放到的最大帧频.
在同样的环境下,画面的复杂度就决定了绘制的快慢.
位图缓冲的意义
因为Flash大部分是矢量计算,所以当绘制很复杂的画面,或者频繁复制某些画面的时候,就势必要使用大量时间,而这些时间其实应该可以省略的.位图缓冲的设计就是针对与此,他可以把一个mc,首先绘制一遍,把相关信息放到预先预备好的装置内,当这个mc在没有外形改变的情况下反复使用时,Flash Player就不会每次再去重新绘制那个mc,而是从装置内读取相关信息并显示,这样就大大提高了速度
位图缓冲的用处
设想一下,在一个满是由窗口组件搭出来的应用程序中,每个窗口都是可以拖来拖去的,这个时候假如没有设置位图缓冲,那么可想而知,Flash Player在每进入一帧的时候,都要对该画面上所有窗口组件,进行一次绘制,这是很恐怖的!
位图缓冲的注重点
帮助里面也说过了,对于极少使用旋转,缩放,变型的mc使用位图缓冲会大大提高速度,这也是因为,假如进行了以上操作,就破坏了mc的外形,Flash Player不得不重新去重新"熟悉"一下mc,这样造成的结果,可能反而比没有设置位图缓冲更糟
位图缓冲的用法
在Flash IDE中 选中一个MC,Ctrl+F3(属性面板),钩选位图缓冲(cacheAsBitmap)即可
AS的话 mc.cacheAsBitmap = true即可
两个是有联系的,当在IDE里面已经钩选了cacheAsBitmap,那么程序中mc.cacheAsBitmap就已经是true了,反之亦然
动画理解:
http://weblogs.macromedia.com/md/archives/2005/10/flash_8_animati_3.cfm位图缓冲的应用实例:
http://www.flashguru.co.uk/maelstrom/?example=isometric%20grid%20image参考文章:
http://mxdj.sys-con.com/read/142694.htm