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

[AS3]as3画笔实例实现橡皮擦功能源代码

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

[AS3]as3画笔实例实现橡皮擦功能源代码

  1. //主容器 
  2. var main:Sprite = new Sprite(); 
  3. main.mouseEnabled = false
  4. addChild(main) 
  5. //临时容器(所有操作都将先画在临时容器里,再进行"画"或"擦") 
  6. var mc:Sprite = new Sprite() 
  7. main.addChild(mc) 
  8. //保存最终画出来的内容的bitmapdata 
  9. var content:BitmapData = new BitmapData(550,400,true,0x00FFFFFF); 
  10. //把content显示出来 
  11. var show:Bitmap = new Bitmap(content) 
  12. main.addChildAt(show,0) 
  13.  
  14. //默认选中画笔 
  15. var action:Number = 0 
  16. txt.text = "当前选中:画笔" 
  17.  
  18.  
  19. mc_move.addEventListener(MouseEvent.MOUSE_DOWN,startDraw) 
  20. a.addEventListener(MouseEvent.CLICK,changeAction) 
  21. b.addEventListener(MouseEvent.CLICK,changeAction) 
  22. function changeAction(e:MouseEvent):void 
  23.     if(e.target.name == "a") 
  24.     { 
  25.         action = 0 
  26.         txt.text = "当前选中:画笔" 
  27.         mc.visible = true 
  28.     }else 
  29.     { 
  30.         action = 1 
  31.         txt.text = "当前选中:橡皮" 
  32.         mc.visible = false 
  33.     } 
  34. function startDraw(e:MouseEvent):void 
  35.     mc.graphics.lineStyle(20,cp.selectedColor); 
  36.     mc.graphics.moveTo(mouseX,mouseY); 
  37.     mc_move.addEventListener(MouseEvent.MOUSE_MOVE,drawing); 
  38.     stage.addEventListener(MouseEvent.MOUSE_UP,stopDraw); 
  39. function stopDraw(e:MouseEvent):void 
  40.     if(action!=1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.NORMAL,new Rectangle(0,0,550,400)) 
  41.     mc.graphics.clear() 
  42.     mc_move.removeEventListener(MouseEvent.MOUSE_MOVE,drawing); 
  43.     stage.removeEventListener(MouseEvent.MOUSE_UP,stopDraw); 
  44. function drawing(e:MouseEvent):void 
  45.     mc.graphics.lineTo(mouseX,mouseY) 
  46.     if(action==1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.ERASE) 
  47.     e.updateAfterEvent() 

[AS3]as3画笔实例实现橡皮擦功能源代码

 

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

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

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

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