|
最近看了一些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以及滤镜部分看的实在头晕,希望精通的朋友给予指点,谢谢!
|