碎裂指的是图片的碎裂
那我们要先做的是就是得到这张图片,在as3中有一种拷屏的方法,能得到整屏的图像下面是这个方法
public function getBitmapData( target1 : UIComponent,n:uint) : void
{
var bd : BitmapData = new BitmapData(target1.width, target1.height ,true,0xffffffff);
var m : Matrix = new Matrix();
bd.draw( target1, m );
var bitmap = new Bitmap(bd)
}
执行过后我们就得到这张图片了。
下面我们就要对这张图像进行碎裂处理了
this._bitmapProcess = new BitmapData(1005 / 10, 600 / 10);//得到整个场景图像信息
this._scaleMatrix = new Matrix();
this._scaleMatrix.scale(1 / this._pixelSize, 1 / this._pixelSize);//设置缩放矩阵缩放度
this._bitmapProcess.draw(this._NextBit, this._scaleMatrix);//在整个场景图像信息中进行图像重绘
this._bitmap.bitmapData = this._bitmapProcess;//让场景显示做过缩放处理的图像信息
this._bitmap.width = 1005;
this._bitmap.height = 600;
this._pixelSize = this._pixelSize * this._makeUp;
这样图像就一像素点的形式进行放大,我们在这里进行个判断,让粒子缩放到一定程度后重组就实现了----马赛克碎裂重组切换特效
当然这是一个动画的过程所用的刷新形式用ENTER_FRAME事件,从碎裂到重组执行十几次足够了,对资源的消耗也不算高。
那我们要先做的是就是得到这张图片,在as3中有一种拷屏的方法,能得到整屏的图像下面是这个方法
public function getBitmapData( target1 : UIComponent,n:uint) : void
{
var bd : BitmapData = new BitmapData(target1.width, target1.height ,true,0xffffffff);
var m : Matrix = new Matrix();
bd.draw( target1, m );
var bitmap = new Bitmap(bd)
}
执行过后我们就得到这张图片了。
下面我们就要对这张图像进行碎裂处理了
this._bitmapProcess = new BitmapData(1005 / 10, 600 / 10);//得到整个场景图像信息
this._scaleMatrix = new Matrix();
this._scaleMatrix.scale(1 / this._pixelSize, 1 / this._pixelSize);//设置缩放矩阵缩放度
this._bitmapProcess.draw(this._NextBit, this._scaleMatrix);//在整个场景图像信息中进行图像重绘
this._bitmap.bitmapData = this._bitmapProcess;//让场景显示做过缩放处理的图像信息
this._bitmap.width = 1005;
this._bitmap.height = 600;
this._pixelSize = this._pixelSize * this._makeUp;
这样图像就一像素点的形式进行放大,我们在这里进行个判断,让粒子缩放到一定程度后重组就实现了----马赛克碎裂重组切换特效
当然这是一个动画的过程所用的刷新形式用ENTER_FRAME事件,从碎裂到重组执行十几次足够了,对资源的消耗也不算高。