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 ...
随机推荐
- django之signal机制分析
django的signal在djangobb中的使用: from django.db.models.signals import post_save from django.dispatch impo ...
- ABAP-数据引用
*&---------------------------------------------------------------------* *& Report ZRICO_TES ...
- 正则前面的 (?i) (?s) (?m) (?is) (?im)
(?i) 表示所在位置右侧的表达式开启忽略大小写模式(?s) 表示所在位置右侧的表达式开启单行模式(?m) 表示所在位置右侧的表示式开启指定多行模式(?is) 更改句点字符 (.) 的含义,以使它与每 ...
- Linux后门入侵检测工具
一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...
- Linux基本命令(新手入门使用)
Linux常用基本命令主要包括目录操作命令.文件操作命令.文件查看命令.磁盘管理命令.用户管理命令.系统管理命令等. 目录操作命令:cd.ls.mkdir.pwd.rmdir 文件操作命令:cp.mv ...
- IIS8.0 部署WCF Services
今天在Win 8的IIS上部署WCF Services,访问SVC文件时出现找不到处理程序的错误,以前遇到这个问题时都是尝试通过注册asp.net的方式处理一下,但是在Win8下这招不灵了,出现如下提 ...
- EF 控制code-first生成的数据库表名的单复数
原地址:https://blog.csdn.net/winnyrain/article/details/51248410 在Code-First中,默认生成的数据库表的名称为类型的复数形式,如Mode ...
- ABAP 编程
ABAP Programming Language 的内容主要有: 1.数据类型与数据对象 2.内表和内表结构(Internal Table) 3.数据流控制语句 4.模块化(Modularizati ...
- 函数式编程语言(Functional Program Language)
(一) 什么是函数编程语言 简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论. 是一种编程典范, ...
- sse实例
一.前台 <script>//D:\wamp\www\node\xiangmuer\views\main // var source = new EventSource('http://1 ...