《flash画板实现代码教学文稿》由会员分享,可在线阅读,更多相关《flash画板实现代码教学文稿(5页珍藏版)》请在金锄头文库上搜索。
1、flash画板实现代码精品文档package import flash.display.Sprite;import flash.display.Shape;import flash.events.MouseEvent;import flash.display.MovieClip;import flash.display.SimpleButton;public class paint extends Sprite private var currenttool:String=;/当前所选择工具private var currentline:uint=1;/当前选择的线宽private var c
2、urrentfill:String=fill1;/钱选择的填充模式 private var currentcolor:uint=0x000000;/当前的填充颜色private var toolbox:Shape=new Shape();/工具箱的选择状态框private var linebox:Shape=new Shape();/线宽的选择状态框private var fillbox:Shape=new Shape();/填充模式的选择状态框private var colorbox:Shape=new Shape();/颜色的选择状态框private var picarr:Array=ne
3、w Array();/保存的当前画图板的内容private var downX:Number;/按下鼠标时的横坐标private var downY:Number;/按下鼠标时的纵坐标public function paint() pen.addEventListener(MouseEvent.CLICK,choosetool);/选择工具line.addEventListener(MouseEvent.CLICK,choosetool);circle.addEventListener(MouseEvent.CLICK,choosetool);rect.addEventListener(Mou
4、seEvent.CLICK,choosetool);roundrect.addEventListener(MouseEvent.CLICK,choosetool);brush.addEventListener(MouseEvent.CLICK,choosetool);line1.addEventListener(MouseEvent.CLICK,chooseline);/选择线宽line2.addEventListener(MouseEvent.CLICK,chooseline);line3.addEventListener(MouseEvent.CLICK,chooseline);fill1
5、.addEventListener(MouseEvent.CLICK,choosefill);fill2.addEventListener(MouseEvent.CLICK,choosefill);fill3.addEventListener(MouseEvent.CLICK,choosefill);toolbox.graphics.lineStyle(1,0x000000);toolbox.graphics.drawRect(-15,-15,15,15);linebox.graphics.lineStyle(1,0x000000);linebox.graphics.drawRect(-15,
6、-8,15,8);fillbox.graphics.lineStyle(1,0x000000);fillbox.graphics.drawRect(-11,-11,11,11);toolbox.x=-100;linebox.x=-100;fillbox.x=-100;colorbox.x=-100;addChild(toolbox);addChild(linebox);addChild(fillbox);private function piccolor(e:MouseEvent) colorbox.x=e.target.x;colorbox.y=e.target.y;currentcolor
7、=e.target.color;private function down(e:MouseEvent) downX=e.localX;downY=e.localY;var sh:Shape=new Shape();picarr.push(sh);pic.addChild(sh);sh.graphics.moveTo(downX,downY);pic.addEventListener(MouseEvent.MOUSE_MOVE,mov);private function mov(e:MouseEvent) var picsh:Shape=picarrpicarr.length-1;switch
8、(currenttool) case line :picsh.graphics.clear();picsh.graphics.moveTo(downX,downY);case pen :picsh.graphics.lineStyle(currentline,currentcolor);picsh.graphics.lineTo(e.localX,e.localY);break;case circle :case rect :case roundrect :picsh.graphics.clear();if (currentfill=fill1) /全部填充,包括线的颜色和内部填充的颜色pic
9、sh.graphics.lineStyle(currentline,currentcolor);picsh.graphics.beginFill(currentcolor);/picsh.graphics.drawcircle(downX,downY,e.localX,e.localY); else if (currentfill=fill2) /只是填充内部颜色picsh.graphics.beginFill(currentcolor); else /不填充内部颜色只有外部线条picsh.graphics.lineStyle(currentline,currentcolor);if (cur
10、renttool=circle) var angle:Number=Math.sqrt(e.localX-downX)*(e.localX-downX)+(e.localY-downY)*(e.localY-downY);picsh.graphics.drawCircle(downX,downY,angle); else if (currenttool=rect) picsh.graphics.drawRect(downX,downY,e.localX-downX,e.localY-downY); else picsh.graphics.drawRoundRect(downX,downY,e.
11、localX-downX,e.localY-downY,10,10);break;case brush :picsh.graphics.beginFill(0xffffff);picsh.graphics.drawRect(e.localX,e.localY,10,10);break;private function up(e:MouseEvent) pic.removeEventListener(MouseEvent.MOUSE_MOVE,mov);private function choosetool(e:MouseEvent) toolbox.x=e.target.x;toolbox.y
12、=e.target.y;currenttool=e.target.name;pic.addEventListener(MouseEvent.MOUSE_DOWN,down);pic.addEventListener(MouseEvent.MOUSE_UP,up);private function chooseline(e:MouseEvent) linebox.x=e.target.x;linebox.y=e.target.y;currentline=e.target.name.substr(4,5);private function choosefill(e:MouseEvent) fillbox.x=e.target.x;fillbox.y=e.target.y;currentfill=e.target.name;收集于网络,如有侵权请联系管理员删除