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;
}
}
}