[AS3]as3下实现图片拼图并加载的功能效果源代码实例
思路点评:刚开始看到这个效果时,觉得应该蛮复杂的,后来看了代码之后,发现居然如此简单! 关键:先加载一张完整的图片,然后利用BitmapData的copyPixels功能,把每个小块的像素copy出来
思路点评:刚开始看到这个效果时,觉得应该蛮复杂的,后来看了代码之后,发现居然如此简单! 关键:先加载一张完整的图片,然后利用BitmapData的copyPixels功能,把每个小块的像素copy出来,形成一系列新的 BitmapData(也就是一块块小图片),然后再利用TweenLite让其依次(延时)移动即可。
- 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
- {
- _originalImageData = new MiMi();//MiMi是库中导入的一张图片
- //CuPlayer.com提示:计算每个小块的宽度、高度
- _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);
- //CuPlayer.com提示:关键:从原图中复制相应的小区域像素到imgCell中
- _imgCell.copyPixels(_originalImageData,
- new Rectangle(j*_w,i*_h,_w,_h),
- new Point());
- var _sprite:Sprite = new Sprite();
- _sprite.addChild(new Bitmap(_imgCell));
- //CuPlayer.com提示:定位
- _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)
- {
- begin();
- }
- private function begin():void
- {
- for (var i:uint=0,j=_imgArr.length; i<j; i++)
- {
- TweenLite.from(_imgArr[i],0.5,{delay:0.1*i,y:(_flag?-1:1)*_h*_rows,alpha:0,ease:Back.easeOut});
- }
- _flag = !_flag;
- }
- }
- }
热门文章推荐
- [FMS]Adobe FMS产品(Adobe Flash Media Server)使用介绍(组图)
- [FMS]Flash Media Server之教程附示例代码
- [RTMP]国产RTMP/HLS直播服务器simple-rtmp-server
- [WOWZA]用wowza流媒体服务器发布和播放直播流(RTMP)
- [RTMP]又一款rtmp类的服务器openrtmfp流媒体服务器
- [RTMP]adobe之FMS视频直播解决方案流程介绍(组图)
- [RTMP协议]实时消息传输协议 (RTMP) 常识性介绍
- [FMS]Adobe的Flash Media Server服务器(FMS服务器)安装
请稍候...