·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3代码写的一个画板功能的实例源代码

时间:2014-04-08 10:57王翔
[AS3]as3代码写的一个画板功能的实例源代码
  1. package 
  2. { 
  3.     import flash.display.Sprite; 
  4.     import flash.events.MouseEvent; 
  5.     import flash.text.TextField; 
  6.      
  7.     public class Main extends Sprite 
  8.     {         
  9.         private var ceng:Sprite; 
  10.         private var isdown:Boolean = false;        //默认鼠标未按下 
  11.         private var linesize:uint = 2;            //CuPlayer.com笔触粗细 
  12.         private var oldx:Number;                //记录上一个点的X坐标位置 
  13.         private var oldy:Number;                //记录上一个点的Y坐标位置 
  14.          
  15.         private var changeSize:Sprite;            //改变笔尖大小的按钮 
  16.         private var fontsize:TextField;            //改变笔尖大小的按钮上的文字 
  17.         private var sizes:uint = 2;                //初始的笔尖大小 
  18.         private var colors:Number = 0x000000;    //初始的笔尖颜色 
  19.          
  20.         public function Main():void 
  21.         { 
  22.             init(); 
  23.         } 
  24.          
  25.         private function init():void 
  26.         { 
  27.             ceng = new Sprite(); 
  28.             this.addChild(ceng); 
  29.              
  30.             stage.addEventListener(MouseEvent.MOUSE_DOWN,ondown);    //鼠标按下             
  31.             stage.addEventListener(MouseEvent.MOUSE_MOVE,onmove);    //鼠标移动             
  32.             stage.addEventListener(MouseEvent.MOUSE_UP,onup);        //鼠标抬起 
  33.              
  34.             //------------------------------------------------ 
  35.              
  36.             changeSize = new Sprite(); 
  37.             changeSize.graphics.beginFill(0x000000,0.5); 
  38.             changeSize.graphics.drawRect(10,10,120,30); 
  39.             changeSize.graphics.endFill(); 
  40.             this.addChild(changeSize); 
  41.              
  42.             fontsize = new TextField(); 
  43.             fontsize.text = "CuPlayer.com红色,变粗,清理舞台"; 
  44.             fontsize.textColor = 0xff0000; 
  45.             fontsize.x = 20; 
  46.             fontsize.y = 15; 
  47.             changeSize.addChild(fontsize); 
  48.              
  49.             fontsize.addEventListener(MouseEvent.CLICK,changes); 
  50.              
  51.             //----------------------------------------------- 
  52.         } 
  53.          
  54.         private function changes(evt:MouseEvent):void 
  55.         { 
  56.             sizes = 6; 
  57.             colors = 0xff0000; 
  58.             ceng.graphics.clear(); 
  59.         } 
  60.          
  61.         private function ondown(evt:MouseEvent):void 
  62.         { 
  63.             isdown = true;                //CuPlayer.com设为鼠标已按下 
  64.             oldx = stage.mouseX;        //当前鼠标按下那一刻,所在舞台的X坐标 
  65.             oldy = stage.mouseY;        //当前鼠标按下那一刻,所在舞台的y坐标 
  66.         } 
  67.         private function onmove(evt:MouseEvent):void 
  68.         { 
  69.             //CuPlayer.com如果鼠标已按下 
  70.             if(isdown) 
  71.             { 
  72.                 ceng.graphics.lineStyle(sizes, colors); 
  73.                 ceng.graphics.moveTo(oldx, oldy);                    //CuPlayer.com开始绘图的起始点 
  74.                 ceng.graphics.lineTo(stage.mouseX, stage.mouseY);    //CuPlayer.com绘图的终点坐标 
  75.                  
  76.                 //更新一下坐标数据(用本次绘制的终点坐标替换,成为下一次绘制的起点坐标) 
  77.                 oldx = stage.mouseX; 
  78.                 oldy = stage.mouseY; 
  79.             } 
  80.         } 
  81.         private function onup(evt:MouseEvent):void 
  82.         { 
  83.             isdown = false;            //设为鼠标抬起     
  84.         } 
  85.     } 
  86. } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器