zoukankan      html  css  js  c++  java
  • 【AS3代码】小画板

    package
    {
        import flash.display.Sprite;
        import flash.events.MouseEvent;
        import flash.text.TextField;
        
        public class Main extends Sprite
        {        
            private var ceng:Sprite;
            private var isdown:Boolean = false;        //默认鼠标未按下
            private var linesize:uint = 2;            //笔触粗细
            private var oldx:Number;                //记录上一个点的X坐标位置
            private var oldy:Number;                //记录上一个点的Y坐标位置
            
            private var changeSize:Sprite;            //改变笔尖大小的按钮
            private var fontsize:TextField;            //改变笔尖大小的按钮上的文字
            private var sizes:uint = 2;                //初始的笔尖大小
            private var colors:Number = 0x000000;    //初始的笔尖颜色
            
            public function Main():void
            {
                init();
            }
            
            private function init():void
            {
                ceng = new Sprite();
                this.addChild(ceng);
                
                stage.addEventListener(MouseEvent.MOUSE_DOWN,ondown);    //鼠标按下            
                stage.addEventListener(MouseEvent.MOUSE_MOVE,onmove);    //鼠标移动            
                stage.addEventListener(MouseEvent.MOUSE_UP,onup);        //鼠标抬起
                
                //------------------------------------------------
                
                changeSize = new Sprite();
                changeSize.graphics.beginFill(0x000000,0.5);
                changeSize.graphics.drawRect(10,10,120,30);
                changeSize.graphics.endFill();
                this.addChild(changeSize);
                
                fontsize = new TextField();
                fontsize.text = "红色,变粗,清理舞台";
                fontsize.textColor = 0xff0000;
                fontsize.x = 20;
                fontsize.y = 15;
                changeSize.addChild(fontsize);
                
                fontsize.addEventListener(MouseEvent.CLICK,changes);
                
                //-----------------------------------------------
            }
            
            private function changes(evt:MouseEvent):void
            {
                sizes = 6;
                colors = 0xff0000;
                ceng.graphics.clear();
            }
            
            private function ondown(evt:MouseEvent):void
            {
                isdown = true;                //设为鼠标已按下
                oldx = stage.mouseX;        //当前鼠标按下那一刻,所在舞台的X坐标
                oldy = stage.mouseY;        //当前鼠标按下那一刻,所在舞台的y坐标
            }
            private function onmove(evt:MouseEvent):void
            {
                //如果鼠标已按下
                if(isdown)
                {
                    ceng.graphics.lineStyle(sizes, colors);
                    ceng.graphics.moveTo(oldx, oldy);                    //开始绘图的起始点
                    ceng.graphics.lineTo(stage.mouseX, stage.mouseY);    //绘图的终点坐标
                    
                    //更新一下坐标数据(用本次绘制的终点坐标替换,成为下一次绘制的起点坐标)
                    oldx = stage.mouseX;
                    oldy = stage.mouseY;
                }
            }
            private function onup(evt:MouseEvent):void
            {
                isdown = false;            //设为鼠标抬起    
            }
        }
    }
  • 相关阅读:
    项目管理工具Redmine各功能测试
    TestLink学习八:TestLink1.9.13与Mantis1.2.19集成
    TestLink学习七:TestLink测试用例Excel转换XML工具
    Mantis1.2.19 在Windows 平台上的安装配置详解
    TestLink学习六:TestLink1.9.13工作使用小结
    TestLink学习五:TestLink1.9.13和JIRA6.3.6的集成
    TestLink学习四:TestLink1.9.13使用说明
    TestLink学习三:发送邮件的两种配置方法
    网页太长怎么截图?
    JIRA学习一:Windows下安装破解JIRA6.3.6
  • 原文地址:https://www.cnblogs.com/kingfly/p/2469805.html
Copyright © 2011-2022 走看看