网上看到的运用缓动类载入图片的一个类 拿来试验一下
稍作改动 记录一下防止忘记 库中有个图片MiMi
package { import flash.display.Sprite; import flash.display.BitmapData; import flash.geom.Rectangle; import flash.display.Bitmap; import flash.geom.Point; import flash.events.MouseEvent; import gs.TweenLite; import gs.easing.Back; public class ImageUp extends Sprite { var _originalImageData:BitmapData; var _cols:uint = 5; var _rows:uint = 5; var _imgArr:Array = new Array(); var _w:Number = 0; var _h:Number = 0; var _flag:Boolean = false; public function ImageUp() { init(); } private function init():void { //MiMi是库中导入的一张图片 _originalImageData = new MiMi(); //计算每个小块的宽度、高度 _w = _originalImageData.width / _cols; _h = _originalImageData.height / _rows; var i:uint = 0,j:uint = 0; for (i=0; i<_rows; i++) { for (j=0; j<_cols; j++) { var _imgCell:BitmapData = new BitmapData(_w,_h); //关键:从原图中复制相应的小区域像素到imgCell中 _imgCell.copyPixels(_originalImageData, new Rectangle(j*_w,i*_h,_w,_h), new Point()); var _sprite:Sprite = new Sprite(); _sprite.addChild(new Bitmap(_imgCell)); //定位 _sprite.x = j * _w; _sprite.y = i * _h; this.addChild(_sprite); _imgArr.push(_sprite); } } this.stage.addEventListener(MouseEvent.CLICK,mouseClick); begin(); } private function mouseClick(e:MouseEvent) { if(_flag) { _flag=false; begin(); } } private function begin():void { for (var i:uint=0;i<_imgArr.length; i++) { if(i<_imgArr.length-1) { TweenLite.from(_imgArr[i],0.5,{delay:0.1*i,y:(_flag?-1:1)*_h*_rows,alpha:0,ease:Back.easeOut}); } else { TweenLite.from(_imgArr[i],0.5,{delay:0.1*i,y:(_flag?-1:1)*_h*_rows,alpha:0,ease:Back.easeOut,onComplete:toFlag}); } } } private function toFlag():void { trace(_flag); _flag = true; } } }