·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

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

时间:2015-05-21 10:50酷播
[AS3]as3画笔实例实现橡皮擦功能源代码

[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. { 
  24.     if(e.target.name == "a") 
  25.     { 
  26.         action = 0 
  27.         txt.text = "当前选中:画笔" 
  28.         mc.visible = true 
  29.     }else 
  30.     { 
  31.         action = 1 
  32.         txt.text = "当前选中:橡皮" 
  33.         mc.visible = false 
  34.     } 
  35. } 
  36. function startDraw(e:MouseEvent):void 
  37. { 
  38.     mc.graphics.lineStyle(20,cp.selectedColor); 
  39.     mc.graphics.moveTo(mouseX,mouseY); 
  40.     mc_move.addEventListener(MouseEvent.MOUSE_MOVE,drawing); 
  41.     stage.addEventListener(MouseEvent.MOUSE_UP,stopDraw); 
  42. } 
  43. function stopDraw(e:MouseEvent):void 
  44. { 
  45.     if(action!=1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.NORMAL,new Rectangle(0,0,550,400)) 
  46.     mc.graphics.clear() 
  47.     mc_move.removeEventListener(MouseEvent.MOUSE_MOVE,drawing); 
  48.     stage.removeEventListener(MouseEvent.MOUSE_UP,stopDraw); 
  49. } 
  50. function drawing(e:MouseEvent):void 
  51. { 
  52.     mc.graphics.lineTo(mouseX,mouseY) 
  53.     if(action==1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.ERASE) 
  54.     e.updateAfterEvent() 
  55. } 

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

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器