package { import flash.display.Sprite; import flash.events.MouseEvent; public class mouseDraw extends Sprite { private var sprite:Sprite; private var isDraw:Boolean=false; private var x1:Number,x2:Number,y1:Number,y2:Number; private var drawNum:int; public function mouseDraw() { initSprite(); } function initSprite() { /*get sprite*/ sprite=createSprite(); sprite.addEventListener(MouseEvent.MOUSE_DOWN,startDraw); sprite.addEventListener(MouseEvent.MOUSE_MOVE,draw); sprite.addEventListener(MouseEvent.MOUSE_UP,stopDraw); addChild(sprite); } /*start draw */ function startDraw(e:MouseEvent):void { x1=mouseX; y1=mouseY; this.sprite.graphics.moveTo(x1,y1); isDraw=true; drawNum=1; } /*move draw*/ function draw(e:MouseEvent):void { if(isDraw) { if(drawNum>1) { sprite.graphics.clear(); initSprite(); } x2=mouseX; y2=mouseY; sprite.graphics.lineStyle(1, 0xFFCC33 ); this.sprite.graphics.moveTo(x1,y1); this.sprite.graphics.lineTo(x2,y1); this.sprite.graphics.moveTo(x2,y1); this.sprite.graphics.lineTo(x2,y2); this.sprite.graphics.moveTo(x2,y2); this.sprite.graphics.lineTo(x1,y2); this.sprite.graphics.moveTo(x1,y2); this.sprite.graphics.lineTo(x1,y1); this.sprite.graphics.moveTo(x1,y1); drawNum++; } } /*stop draw*/ function stopDraw(e:MouseEvent):void { this.isDraw=false; //setChildIndex(this.sprite,numChildren-1); } //create sprite function createSprite():Sprite { var s:Sprite=new Sprite(); s.graphics.beginFill(0x78D1F5,2); s.graphics.drawRoundRect(10,10,300,300,10); s.graphics.endFill(); return s; } } }