您当前的位置:首页 > 网络学院 > Flash教程
Flash教程

使用bitmapData简单实现涂鸦中的橡皮功能(as3.0)

来源:番禺网站建设 作者:广州做网站 点击量:5711 添加时间:2008-07-14 10:41:28

最近公司粉忙的~很久没来更新了~昨天朋友问起了涂鸦中的橡皮功能,网上查了一些资料,发现都写得比较复杂。后来了解了一下bitmapData的draw,发现如果重复draw的时候,选择特定的“混合模式”,即可实现清除功能。最新draw进去的内容会与之前的内容混合,重复的地方将会去掉。

先看看代码:

import flash.display.BitmapData;   
import flash.geom.Rectangle;   
import flash.geom.Matrix;   
import flash.geom.ColorTransform;   
   
//建立显示mc   
this.createEmptyMovieClip("main", this.getNextHighestDepth());   
main.createEmptyMovieClip("mc", main.getNextHighestDepth());   
main.createEmptyMovieClip("show", main.getNextHighestDepth());   
var content:BitmapData = new BitmapData(550,440,true,0x00FFFFFF);   
main.show.attachBitmap(content,0)   
   
//默认选中画笔   
var action:Number = 0   
txt.text = "当前选中:画笔"   
mc_move.onPress = goDraw   
   
//选中画笔   
a.onPress = function(){   
    action = 0   
    txt.text = "当前选中:画笔"   
    main.mc._visible = true   
    mc_move.onPress = goDraw   
}   
   
//选中橡皮   
b.onPress = function(){   
    action = 1   
    txt.text = "当前选中:橡皮"   
    main.mc._visible = false   
    mc_move.onPress = goDraw   
}   
   
//放开鼠标   
mc_move.onRelease = function(){   
    delete onMouseMove   
    content.draw(main,new Matrix(),new ColorTransform(),1,new Rectangle(0,0,550,400))   
    main.mc.clear()   
    break;   
}   
mc_move.onReleaseOutside = mc_move.onRelease   
   
//画线   
function goDraw(){   
    main.mc.lineStyle(20)   
    main.mc.moveTo(_xmouse,_ymouse)   
    onMouseMove = function(){   
        main.mc.lineTo(_xmouse,_ymouse)   
        updateAfterEvent()   
        if(action==1){   
            //主要的代码,在使用橡皮的时候(action==1),draw的时候,"混合模式"选择12(第四个参数)   
            content.draw(main.mc,new Matrix(),new ColorTransform(),12)   
        }   
    }   
}  
发表评论 共有 条评论
用户名: 密码: 验证码: 匿名发表
咨询QQ:番禺网站建设149900898 番禺网络公司296823656 番禺网页设计466741366 番禺域名注册598784086 番禺域名注册(售后技术支持)296823656
咨询信箱:001#py001.com  001#001.gd.cn (请将#改为@)
免费咨询电话:4000-848485   咨询热线:020-8484 8485 / 84888958 / 33110440  传真:020-84888958   手机:13600028769
番禺区市桥地址:广州市番禺区大北路118号(番禺宾馆旁)来访前请预约
番禺零零壹网络(广州市灵易计算机软件有限公司) 法律顾问:广东威信律师事务所陈彬律师
《中华人民共和国增值电信业务经营许可证》 粤ICP备08100317号
请使用1024*768分辨率浏览本站以达到浏览企业建站的最佳视觉效果,如果您有任何番禺建网站,南沙,花都网页设计,网站空间,番禺域名注册,番禺企业邮局的问题请与我们联系