примерная схема

Код:
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
public class Test extends Sprite{
private var render:Function=myNull;
private var canvas:Sprite;
private var pen:Point;
private var maxLength:Number=7;
private var drawBut:But;
private var clearBut:But;
public function Test(){
canvas=new Sprite();
canvas.graphics.beginFill(0xCCCCCC);
canvas.graphics.drawRect(0,0,550,400);
addChild(canvas);
drawBut=new But("draw");
addChild(drawBut);
clearBut=new But("clear");
clearBut.x=drawBut.width+10;
addChild(clearBut);
drawBut.addEventListener(MouseEvent.CLICK,drawClick);
clearBut.addEventListener(MouseEvent.CLICK,clearClick);
canvas.addEventListener(MouseEvent.MOUSE_DOWN,startRender);
canvas.addEventListener(MouseEvent.MOUSE_UP,stopRender);
}
private function drawClick(evnt:MouseEvent):void{
render=myDraw;
drawBut.backgroundColor=0xFFFFFF;
clearBut.backgroundColor=0x999999;
}
private function clearClick(evnt:MouseEvent):void{
render=myClear;
drawBut.backgroundColor=0x999999;
clearBut.backgroundColor=0xFFFFFF;
}
private function startRender(evnt:MouseEvent):void{
canvas.addEventListener(MouseEvent.MOUSE_MOVE,render);
pen=new Point(mouseX,mouseY);
}
private function stopRender(vnt:MouseEvent):void{
canvas.removeEventListener(MouseEvent.MOUSE_MOVE,render);
}
private function myDraw(evnt:MouseEvent):void{
var p:Point=new Point(mouseX,mouseY);
//рисуем только больше минимальной длины..
if(Point.distance(p,pen)>=maxLength){
var s:Sprite=new Sprite();
canvas.addChild(s);
s.graphics.lineStyle(1,0xFF0000);
s.graphics.moveTo(pen.x,pen.y);
s.graphics.lineTo(mouseX,mouseY);
pen=p;
}
}
private function myClear(evnt:MouseEvent):void{
for(var i:int=0;i<canvas.numChildren;i++){
var line:Sprite=canvas.getChildAt(i) as Sprite;
if(line.hitTestPoint(mouseX,mouseY)) canvas.removeChild(line);
}
}
private function myNull(evnt:MouseEvent):void{
}
}
}
import flash.text.TextField;
class But extends TextField{
public function But(txt:String){
text=txt;
autoSize="left";
selectable=false;
background=true;
backgroundColor=0x999999;
}
}