宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3加载图片进行切割的源代码实例

2016-10-13 00:16:48 点击量:15 标签: 收藏本文

  1. import flash.display.Sprite; 
  2. import flash.display.Bitmap; 
  3. import flash.display.Loader; 
  4. import flash.display.BitmapData; 
  5. import flash.events.Event; 
  6. import flash.geom.Point; 
  7. import flash.geom.Rectangle; 
  8. import flash.events.MouseEvent; 
  9. import flash.net.URLRequest; 
  10. var url:String="assets/TileA3.png"
  11. var pic=[]; 
  12. var loader:Loader = new Loader(); 
  13. var picURL:URLRequest=new URLRequest(url); 
  14. loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); 
  15. loader.load(picURL); 
  16.  
  17. function completeHandler(event:Event ):void { 
  18.  splite(4,8,64,64); 
  19. function splite(row:uint,col:uint ,w:uint,h:uint ) { 
  20.  var sBmd:BitmapData=new BitmapData(loader.width,loader.height,true,0x00FFFFFF); 
  21.  sBmd.draw(loader); 
  22.  for (var j:uint = 0; j<row; j++) { 
  23.   for (var i:uint = 0; i<col; i++) { 
  24.    var bmd:BitmapData=new BitmapData(w,h,true,0x00FFFFFF); 
  25.    bmd.copyPixels(sBmd,new Rectangle(w*i, h*j, w, h),new Point(0,0)); 
  26.    var bmp:Bitmap=new Bitmap(bmd); 
  27.    pic.push(bmp); 
  28.   } 
  29.  } 
  30.  sBmd.dispose(); 
  31. var i:int=0
  32. button_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler); 
  33. function fl_MouseClickHandler(event:MouseEvent ):void { 
  34.  addChild(pic[i]); 
  35.  pic[i].x=i%8*65; 
  36.  pic[i].y=int(i/8)*65; 
  37.  i+=1; 
  38. 写成函数更加方便调用。 

[AS3]as3加载外部图片进行切割的实例

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室