zoukankan      html  css  js  c++  java
  • [AS3]as3画笔实例实现橡皮擦功能源代码

    [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画笔实例实现橡皮擦功能源代码

  • 相关阅读:
    记事本+hhc生成CHM
    在Delphi里实现[int map string]对
    U盘插入拔出提示
    Delphi研发笔试试卷 我的小解
    Excel也能用SQL查询
    访问JAVA中的字段(jfieldID)
    调用JAVA方法
    缓存字段ID和方法ID
    JNI引用
    访问数组(JNI)
  • 原文地址:https://www.cnblogs.com/chenhaib/p/5431525.html
Copyright © 2011-2022 走看看