日期:2013-11-22  浏览次数:20684 次

  最近看了一些Bitmap以及滤镜相关的源文件,看不懂 脑子不够用!看了一些简单的源文件,尝试使用BitmapData.draw方法,参照着做了实例以下是代码

  效果演示



下载源文件

import flash.display.BitmapData; //导入BitmapData 类
var mybmp:BitmapData=new BitmapData(Stage.width,Stage.height,false,0); //建立一个和场景一样大的位图对象
this.attachBitmap(mybmp,1); //将位图图像附加到主场景上
//----效果部分 建立一个mymc 内部建立一个line 绘制一条直线 每帧随机旋转一个角度-----//
this.createEmptyMovieClip("mymc", 2);
mymc.createEmptyMovieClip("line", 1);
with(mymc.line){
 lineStyle(5, 0x00FFFF, 30);
 moveTo(0, 0);
 lineTo(20, 20);
}
mymc.onEnterFrame=function(){
 this.line._x=this._xmouse;
 this.line._y=this._ymouse;
 this.line._rotation=Math.random()*360;
}
//----------------效果部分结束-------------------------//
this.onEnterFrame=function(){
 mybmp.draw(this); //不停的描绘场景
}
    我的理解是BitmapData.draw就像一个照相机,将图像记录下来,保存到位图对象,我们让他不停的纪录,就能将所有的图片同时展现出来,就像以上的实例,这样可以替代以前复制大量的mc并分别设置属性来显示效果的操作,关键是不会占用大量资源。
  Bitmap以及滤镜部分看的实在头晕,希望通晓的朋友给予指点,谢谢!