_PathFinder

寻路算法。 全部展开

构造方法展开

  • + function _PathFinder() : _PathFinder

    构造一个寻路对象。

    • 返回
    • 新构造的寻路对象。
      • 示例
    •  pathFinder = _PathFinder.new()
  • + function _PathFinder(cogFileName : string) : _PathFinder

    根据路径文件构造一个寻路对象。

    • 返回
    • 新构造的寻路对象。
      • 示例
    •  pathFinder = _PathFinder.new('city.cog')

公共方法展开

  • + function checkPath(start : _Vector2, end : _Vector2) : bool
    function checkPath(x1 : number, y1 : number, x2 : number, y2 : number) : bool

    检查两个点是否直线可达。

    • 参数
    • start : 表示起点。
    • end : 表示终点。
    • x1 : 起点的x坐标
    • y1 : 起点的y坐标
    • x2 : 终点的x坐标
    • y2 : 终点的y坐标
    • 返回
    • 表示两个点是否直线可达。
  • + function checkPoint(point : _Vector2) : bool
    function checkPoint(x : number, y : number) : bool

    检查某点是否可走。

    • 参数
    • point : 要检查的点的坐标
    • x : 要检查的点的x坐标
    • y : 要检查的点的y坐标
    • 返回
    • 表示这一点是否可走。
  • + function draw(z : number)

    画出不可行走区域和找到的路径。

    • 参数
    • z : 画出的多边形的高度。
    • 示例

       pathFinder:draw(10)
  • + function draw2D(color : uint)

    以2d方式画出不可行走区域。

    • 参数
    • color : 画出的多边形的颜色值。
    • 示例

       pathFinder:draw2D(_Color.Red)
  • + function enableGroup(group : string, enable : bool)

    启用或禁用某个组的阻挡片。该分组在_PathBuilder:addGroup()中设置并生成寻路文件。

    • 参数
    • group : 组名。
    • enable : 是否启用。
  • + function findCross(start : _Vector2, end : _Vector2) : _Vector2

    在地图中寻找与目标点在直线距离上最近的点。

    • 参数
    • start : 起始点。
    • end : 终点。
    • 返回
    • 与目标点在直线距离上最近的点,类型为_Vector2
  • + function findPath(start : _Vector2, end : _Vector2) : array

    在地图中寻找可行走的路径。

    • 参数
    • start : 起始点。
    • end : 终点。
    • 返回
    • 一个_Vector2的数组,为找到的路径的所有点。包含起始点和终点在内的。
    • 说明
    • 若终点不可到达,返回nil。
  • + function findSlide(start : _Vector2, end : _Vector2 ,[tar : _Vector2) : _Vector2
    function findSlide(x1 : number, y1 : number, x2 : number, y2 : number, [tar : _Vector2]) : _Vector2

    在地图中寻找与目标点在直线距离上最近的点,若起始点为阻挡线路上的点时,会返回一个在阻挡切线方向上移动后的点。

    • 参数
    • start : 起始点。
    • x1 : 起始点的x值。
    • y1 : 起始点的y值。
    • end : 终点。
    • x2 : 终点的x值。
    • y2 : 终点的y值。
    • tar : 目标点。
    • 返回
    • 目标点,类型为_Vector2
  • + function getWalkArea(out : _Rect, whole : bool)

    获得行走区域的外切矩形。

    • 参数
    • out : 如果有则会把结果传到该参数中。
    • whole : 是否为整图。

    • 示例

       rect = _Rect.new()
      pathFinder:getWalkArea(rect, false)
  • + function loadPath(filename : string) : bool

    加载地图的路径文件。

    • 参数
    • filename : 路径文件名。路径文件由_PathBuilder生成。
    • 返回
    • 是否加载成功。
    • 示例

       pathFinder:loadPath('map.cog')
问题反馈(登录才可以发表哦!)