当前位置:主页>AS 应用>文章内容
  • 使用bitmapData简单实现涂鸦中的橡皮功能(as2.0)
  • 来源:l4cd.net 作者:l4cd 2008-07-07 【
最近公司粉忙的~很久没来更新了~

昨天朋友问起了涂鸦中的橡皮功能,网上查了一些资料,发现都写得比较复杂.

后来了解了一下bitmapData的draw,发现如果重复draw的时候..选择特定的“混合模式”,即可实现清除功能。最新draw进去的内容会与之前的内容混合,重复的地方将会去掉。

先看看代码
    1. import flash.display.BitmapData;  
    2. import flash.geom.Rectangle;  
    3. import flash.geom.Matrix;  
    4. import flash.geom.ColorTransform;  
    5.   
    6. //建立显示mc  
    7. this.createEmptyMovieClip("main"this.getNextHighestDepth());  
    8. main.createEmptyMovieClip("mc", main.getNextHighestDepth());  
    9. main.createEmptyMovieClip("show", main.getNextHighestDepth());  
    10. var content:BitmapData = new BitmapData(550,440,true,0x00FFFFFF);  
    11. main.show.attachBitmap(content,0)  
    12.   
    13. //默认选中画笔  
    14. var action:Number = 0  
    15. txt.text = "当前选中:画笔"  
    16. mc_move.onPress = goDraw  
    17.   
    18. //选中画笔  
    19. a.onPress = function(){  
    20.     action = 0  
    21.     txt.text = "当前选中:画笔"  
    22.     main.mc._visible = true  
    23.     mc_move.onPress = goDraw  
    24. }  
    25.   
    26. //选中橡皮  
    27. b.onPress = function(){  
    28.     action = 1  
    29.     txt.text = "当前选中:橡皮"  
    30.     main.mc._visible = false  
    31.     mc_move.onPress = goDraw  
    32. }  
    33.   
    34. //放开鼠标  
    35. mc_move.onRelease = function(){  
    36.     delete onMouseMove  
    37.     content.draw(main,new Matrix(),new ColorTransform(),1,new Rectangle(0,0,550,400))  
    38.     main.mc.clear()  
    39.     break;  
    40. }  
    41. mc_move.onReleaseOutside = mc_move.onRelease  
    42.   
    43. //画线  
    44. function goDraw(){  
    45.     main.mc.lineStyle(20)  
    46.     main.mc.moveTo(_xmouse,_ymouse)  
    47.     onMouseMove = function(){  
    48.         main.mc.lineTo(_xmouse,_ymouse)  
    49.         updateAfterEvent()  
    50.         if(action==1){  
    51.             //主要的代码,在使用橡皮的时候(action==1),draw的时候,"混合模式"选择12(第四个参数)  
    52.             content.draw(main.mc,new Matrix(),new ColorTransform(),12)  
    53.         }  
    54.     }  




源码下载




上一篇:打造完美物体空间散射(as2.0)   下一篇:蓝博:《墨曲》,音乐的玩伴(as2.0)
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
推荐内容
·Airmp3播放器 提供原码
·AS功能代码教程:百变图(as2.0)
·[AS 功能代码教程02]数字魔方及数组概念
·flash8水波制作简明实例
·FlashAS常用代码集锦
·flash中MP3导入及同步歌词的方法
FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)