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

    //主容器
var main:Sprite = new Sprite();
main.mouseEnabled = false;
addChild(main)
//临时容器(所有操作都将先画在临时容器里,再进行"画"或"擦")
var mc:Sprite = new Sprite()
main.addChild(mc)
//保存最终画出来的内容的bitmapdata
var content:BitmapData = new BitmapData(550,400,true,0x00FFFFFF);
//把content显示出来
var show:Bitmap = new Bitmap(content)
main.addChildAt(show,0) //默认选中画笔
var action:Number = 0
txt.text = "当前选中:画笔" mc_move.addEventListener(MouseEvent.MOUSE_DOWN,startDraw)
a.addEventListener(MouseEvent.CLICK,changeAction)
b.addEventListener(MouseEvent.CLICK,changeAction)
function changeAction(e:MouseEvent):void
{
if(e.target.name == "a")
{
action = 0
txt.text = "当前选中:画笔"
mc.visible = true
}else
{
action = 1
txt.text = "当前选中:橡皮"
mc.visible = false
}
}
function startDraw(e:MouseEvent):void
{
mc.graphics.lineStyle(20,cp.selectedColor);
mc.graphics.moveTo(mouseX,mouseY);
mc_move.addEventListener(MouseEvent.MOUSE_MOVE,drawing);
stage.addEventListener(MouseEvent.MOUSE_UP,stopDraw);
}
function stopDraw(e:MouseEvent):void
{
if(action!=1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.NORMAL,new Rectangle(0,0,550,400))
mc.graphics.clear()
mc_move.removeEventListener(MouseEvent.MOUSE_MOVE,drawing);
stage.removeEventListener(MouseEvent.MOUSE_UP,stopDraw);
}
function drawing(e:MouseEvent):void
{
mc.graphics.lineTo(mouseX,mouseY)
if(action==1)content.draw(mc,new Matrix(),new ColorTransform(),BlendMode.ERASE)
e.updateAfterEvent()
}

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

[AS3]as3画笔实例实现橡皮擦功能源代码的更多相关文章

  1. [AS3]as3用ByteArray来对SWF文件编码加密实例参考

    [AS3]as3用ByteArray来对SWF文件编码加密实例参考,简单来说,就是将 swf 以 binary 的方式读入,并对 ByteArray 做些改变,再重新存成 swf 档.这个作业当然也可 ...

  2. as3.0橡皮擦功能

    //主容器 var main:Sprite = new Sprite(); main.mouseEnabled = false; addChild(main) //临时容器(所有操作都将先画在临时容器 ...

  3. [AS3]as3与JS的交互(AS3调用JS)实例说明

    一,AS3 vs JavaScript (1)AS3调用JS 函数: ExternalInterface.(functionName:, arguments): //AS3 Code 属性: 同上,通 ...

  4. [ActionScript] AS3 涂鸦的擦除和撤销功能

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMo ...

  5. Spring+EhCache缓存实例(具体解说+源代码下载)

    一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有高速.精干等特点,是Hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式 ...

  6. WP8下实现刮刮乐(橡皮擦)功能

    说到刮刮乐这个功能,我们最先想到的是上下两张(长方形)重叠,之后对上面这张图片进行操作. 我的想法是:通过手势,让手指划过的地方变成透明的,底部就会显示了. 那如何让图片变为透明呢?这就要对图片的像素 ...

  7. rabbit mq的一个实例,异步功能

    简单的使用场景:消息队列的场景有:解耦,异步,削峰. 此例用的场景,异步 有时候会有请求消耗时间过长,不能老让用户等待返回结果,可以用消息队列来做异步实现,之前用过workmain等类似的异步,但不如 ...

  8. 功能源代码(扇形进度)及Delegate运用在开放事件中、UINavigationController的封装

    1:扇形进度视图及运用 首先先创建扇形的视图,传入进度值 #import <UIKit/UIKit.h> @interface LHProgressView : UIView @prope ...

  9. cocos2d-x 3.x 橡皮擦功能

    1.HelloWorldScene.h cocos2d::DrawNode* _eraser; cocos2d::RenderTexture*_renderTexture; 2.HelloWorldS ...

随机推荐

  1. 黄聪:HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器

    XPath和CSS选择器 原文:http://ejohn.org/blog/xpath-css-selectors 最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是: ...

  2. translate和replace的区别

    今天在oracle数据库中看到replace和translate的嵌套就有点蒙了,于是就上网看了一下,感觉豁然开朗: 今天遇到的问题如下: replace(TRANSLATE(a.deal_msg,' ...

  3. 浏览器缓存相关的Http头介绍:Expires,Cache-Control,Last-Modified,ETag

    转自:http://www.path8.net/tn/archives/2745 缓存对于web开发有重要作用,尤其是大负荷web系统开发中. 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存等.其中 ...

  4. 火车采集器 帝国CMS7.2免登录发布模块

    帝国cms7.2增加了金刚模式,登录发布有难度.免登录发布模块配合火车采集器,完美解决你遇到的问题. 免登录直接获取栏目列表 通过文件内设置密码免登录发布数据 帝国cms7.2免登陆文章发布接口使用说 ...

  5. 黑马程序员_ Objective-c 概述及面向对象与三大特性

    -----------android培训.java培训.java学习型技术博客.期待与您交流!------------ (一).语法概述 1. oc介绍:(.m文件) 1> c语言的基础上,增加 ...

  6. Mvc public virtual DbQuery<TResult> Include("")

    参数 path 类型:System.String要在查询结果中返回的相关对象列表(以点号分隔). 返回值 类型:System.Data.Entity.Infrastructure.DbQuery< ...

  7. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  8. ASP.NET程序中 抛出"Thread was being aborted. "异常(转)

    Thread was being aborted :中文意思 线程被终止 引用地址:http://support.microsoft.com/default.aspx/kb/312629/EN-US/ ...

  9. Ibatis.net总是报:【ExecuteStoreCommand SqlParameterCollection 中已包含 SqlParameter】(转)

    今天很奇怪调用EF的ExecuteStoreCommand 出现了个这样的错误,怎么也调试不过,痛定思痛 原来 command被连着调用了而没有销毁掉   public static DataTabl ...

  10. Python-10 字典

    #1 创建 dict1={'欢欢':'i love','小高高':'you'} dict2={1:'one',2:'two',3:'three'} dict3={} #2 访问元素 print('欢欢 ...