用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as3.0教程>列表

使用bitmapData实现flash涂鸦橡皮功能(as3.0)

[来源:l4cd.net | 作者:l4cd | 时间:2008-07-16 | 点击:  | 收藏本文  【 】]

最近公司粉忙的~很久没来更新了~昨天朋友问起了涂鸦中的橡皮功能,网上查了一些资料,发现都写得比较复杂。后来了解了一下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)   
        }   
    }   
}  
试试效果:
 
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:ActionScript 3.0中用removeChild移除显示对象时是否需要判断它已被addChild添加
下一篇:没有了
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·使用bitmapData实现flash涂鸦橡
·ActionScript 3.0中用removeChil
·实用的ActionScript 3.0共享事件
·ActionScript 3.0垃圾回收
·Flash上传客户端
·AS3编码转换函数
·flash as3的binding-ObjectProxy
·as3的ComboBox组件应用小问题
·小球的弹性碰撞
·小球的弹性碰撞
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·flash春雷闪电效果
·Flex 3 AdvancedDataGrid的使用(第二
·即拷即用的loading代码
·Flash制作大雪纷飞效果动画
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号