округляй до размеров сетки..

Код:
var tol=20;
var path=[];
var gridStep=10;
function onMouseUp(){
var dx=_xmouse-path[0].x,dy=_ymouse-path[0].y;
if(Math.sqrt(dx*dx+dy*dy)<tol){
delete this.onEnterFrame;
clear();
moveTo(_xmouse,_ymouse);
beginFill(0xFF0000);
lineStyle(0,0x00FF00);
for(var i=0;i<path.length;i++)lineTo(path[i].x,path[i].y);
endFill();
}
path.push({x:gridStep*Math.round(_xmouse/gridStep),y:gridStep*Math.round(_ymouse/gridStep)});
}
function onEnterFrame(){
clear();
lineStyle(0);
moveTo(path[0].x,path[0].y);
for(var i=1;i<path.length;i++)lineTo(path[i].x,path[i].y);
if(path.length) lineTo(gridStep*Math.round(_xmouse/gridStep),gridStep*Math.round(_ymouse/gridStep));
}
мышкой двигает юзер, заставить ее скакать по сетке нельзя..
можно ее скрыть Mouse.hide(), а двигать вместо нее свой курсор (мувик)..