笔记3

来源:互联网 发布:oracle awr sql 编辑:程序博客网 时间:2024/04/30 07:58

/** 合并路径 **/
  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;
  }