/** 合并路径 **/
private static function combinPath(path:Array) : Array
{
var ret:Array = [];
if ((null==path) || (path.length<4))
{// 非法的寻路结果
return ret;
}
var dir:int = -1;
var x1:int = int(path[0]);
var y1:int = int(path[1]);
ret.push(new Point(x1, y1));
for (var idx:int=2; idx<path.length; idx+=2)
{
var x2:int = int(path[idx]);
var y2:int = int(path[idx+1]);
var nowDir:int = calcDir(x1, y1, x2, y2);
if (-1 == dir)
{
dir = nowDir;
x1 = x2;
y1 = y2;
continue;
}
if (dir != nowDir)
{
dir = nowDir;
ret.push(new Point(x1, y1));
}
x1 = x2;
y1 = y2;
}
// 补上终点
ret.push(new Point(path[path.length-2], path[path.length-1]));
return ret;
}