as3.0划线带撤销功能
package com{
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.display.Shape;
import flash.geom.ColorTransform;
import flash.geom.Rectangle;
public class Drow extends MovieClip {
private var emptyMc:MovieClip;
private var blackboard:MovieClip;
private var thisMc:MovieClip;
private var shape:Shape;
private var colorNum:Number
public function Drow(_emptyMc:MovieClip,_thisMc:MovieClip,_blackboard:MovieClip) {
emptyMc=_emptyMc;
thisMc=_thisMc;
blackboard=_blackboard;
}
private var penBtn:SimpleButton;
private var revokeBtn:SimpleButton;
private var eraserBtn:SimpleButton;
public function toolFun(_penBtn:SimpleButton,_revokeBtn:SimpleButton,_eraserBtn:SimpleButton) {
penBtn=_penBtn;
revokeBtn=_revokeBtn;
eraserBtn=_eraserBtn;
eraserBtn.addEventListener(MouseEvent.CLICK,onClick);
revokeBtn.addEventListener(MouseEvent.CLICK,onClick);
penBtn.addEventListener(MouseEvent.CLICK,onClick);
}
private function onClick(e:MouseEvent) {
var str:String=e.target.name;
if (str=="penBtn") {
if (penBtn.visible==true) {
colorNum=0
penBtn.visible=false;
blackboard.addEventListener(MouseEvent.MOUSE_DOWN,downFun);
} else {
penBtn.visible=true;
blackboard.removeEventListener(MouseEvent.MOUSE_DOWN,downFun);
}
} else if (str=="revokeBtn") {
if(emptyMc.numChildren-1>=0)
emptyMc.removeChildAt(emptyMc.numChildren-1);
} else if (str=="eraserBtn") {
if (eraserBtn.visible==true) {
eraserBtn.visible=false;
penBtn.visible=true;
colorNum=0xFFFFFF
} else {
eraserBtn.visible=true;
}
}
}
private function downFun(e:MouseEvent) {
shape=new Shape()
emptyMc.addChild(shape)
shape.graphics.clear();
shape.graphics.lineStyle(5,colorNum);
shape.graphics.moveTo(mouseX,mouseY);
blackboard.addEventListener(MouseEvent.MOUSE_MOVE,moveFun);
blackboard.addEventListener(MouseEvent.MOUSE_UP,upFun);
}
private function moveFun(e:MouseEvent) {
shape.graphics.lineTo(mouseX,mouseY);
e.updateAfterEvent();
}
private function upFun(e:MouseEvent) {
blackboard.removeEventListener(MouseEvent.MOUSE_MOVE,moveFun);
blackboard.removeEventListener(MouseEvent.MOUSE_UP,upFun);
}
}
}
as3.0划线带撤销功能的更多相关文章
- [ActionScript 3.0] AS3.0 涂鸦及擦除功能,撤销重做步骤记录实例
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMo ...
- [AIR] AS3.0设置屏保功能
package com.controls { import flash.desktop.NativeApplication; import flash.events.Event; import fla ...
- js简易计算器底层运算逻辑(带撤销功能)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 百度地图API 批量添加 带检索功能的信息窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [AS3]as3画笔实例实现橡皮擦功能源代码
[AS3]as3画笔实例实现橡皮擦功能源代码 //主容器 var main:Sprite = new Sprite(); main.mouseEnabled = false; addChild(mai ...
- GridView使用自带分页功能时分页方式及样式PagerStyle
// 转向地址:http://www.bubuko.com/infodetail-412562.html GridView分页,使用自带分页功能,类似下面样式: 在aspx页面中,GridView上的 ...
- 调用Android自带日历功能(日历列表单、添加一个日历事件)
调用Android自带日历功能 觉得这篇文章不错,转载过来. 转载:http://blog.csdn.net/djy1992/article/details/9948393 Android手机配备有 ...
- SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能
原文:SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 上期回顾: SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 博主最近新负责了一个ssis大项目的架构 ...
- As3.0 类的【枚举】
As3.0 类的枚举 “枚举”是您创建的一些自定义数据类型,用于封装一小组值.ActionScript 3.0 并不支持具体的枚举工具,这与 C++ 使用 enum 关键字或 Java 使用 En ...
随机推荐
- Oracle查询表结果添加到另一张表中
转自:https://blog.csdn.net/lx870576109/article/details/78336695 把每一个知识点进行积累:Oracle数据库中将查询一张表的结果添加到另一张表 ...
- xlwt模块
python使用xlwt模块操作Excel 该模块安装很简单 $ pip install xlwt 语法 import xlwt # 创建一个workbook 设置编码 workbook = xlwt ...
- php中显示数组与对象的实现代码
1. 使用 print_r ( $array/$var ) print 是打印的意思,而r则取自Array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量. pri ...
- 重置mysql5.7密码
其实想要重置 5.7 的密码很简单,就一层窗户纸: 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不 ...
- linux /dev/null 中有数据
前段时间有个同事问我说,他 cat /dev/null有数据.这个颠覆大家认知的问题最终却是个小问题. 我们来看/dev/null的操作函数: static const struct memdev { ...
- Extjs获取Form中的数据
var win = Ext.create("Ext.window.Window",{ width:300, height:200, title:"日期选择窗口" ...
- Unity系列文章
1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html 这篇博客是通过一个播放器的例子来说明什么是依赖,依赖倒置,控 ...
- WebRequest + Https + 憑証錯誤 = 作業逾時
前言 一般的系統一登入時,都會顯示公告訊息,我們的系統也是! 因為系統效能問題,所以就幫忙看了程式.發現,每次登入時,都會到DB取公告資料,但公告並不會因為個人而有所不同,是針對整個系統的呀! 所以就 ...
- 10.mysql-触发器.md
目录 定义 语法 定义 当操作了某张表时,希望同时触发一些动作/行为,可以使用触发器完成 语法 -- 需求: 当向员工表插入一条记录时,希望mysql自动同时往日志表插入数据 -- 创建触发器(添加) ...
- VPS 相关
1.一键测试 wget http://soft.laozuo.org/tools/cpu-io.shsh cpu-io.sh 2.锐速破解 wget -N --no-check-certificate ...