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;            //设为鼠标抬起    
            }
        }
    }
  • 相关阅读:
    python threading acquire release
    .net支付宝调试
    C#获取微信openid
    KindeEditor图片上传插件用法
    .net Repeater内部的按钮事件代码demo(Repeater内button的删除事件)
    .net 执行页面跳转弹窗提示,刷新代码
    .net验证控件
    上传图片
    数据库写入时间
    数据库读取
  • 原文地址:https://www.cnblogs.com/kingfly/p/2469805.html
Copyright © 2011-2022 走看看