ActorNavigator

ActorNavigator

new ActorNavigator(actor)

角色导航器

Source:
Parameters:
Name Type Description
actor Actor

绑定的角色对象

Members

actor :Actor

绑定的角色对象

Source:
Type:

animBufferTime :number

角色跟随目标时切换动作的缓冲时间

Source:
Type:
  • number

bypass :boolean

计算路径的时候是否绕过角色

Source:
Type:
  • boolean

callbacks :Array.<function()>|null

角色移动结束后回调函数

Source:
Type:
  • Array.<function()> | null

followOnce :boolean

角色跟随目标一次之后停止移动

Source:
Type:
  • boolean

followingNavigate :boolean

角色在跟随目标时是否进行寻路

Source:
Type:
  • boolean

followingOffset :number

角色圆形跟随模式的偏移值(-0.8~+0.8)

Source:
Type:
  • number

lastX :number

角色上一次的场景位置X

Source:
Type:
  • number

lastY :number

角色上一次的场景位置Y

Source:
Type:
  • number

maxDist :number

角色跟随目标时的最大距离

Source:
Type:
  • number

minDist :number

角色跟随目标时的最小距离

Source:
Type:
  • number

mode :string

角色导航模式

Source:
Type:
  • string

movementAngle :number

角色移动角度

Source:
Type:
  • number

movementFactor :number

角色移动速度系数

Source:
Type:
  • number

movementFactorTemp :number

角色移动速度系数(临时)

Source:
Type:
  • number

movementPath :Float64Array|null

角色移动路径

Source:
Type:
  • Float64Array | null

movementSpeed :number

角色移动速度

Source:
Type:
  • number

target :Actor|null

跟随的目标角色

Source:
Type:

timeout :number

角色移动超时时间(毫秒)

Source:
Type:
  • number

update :function

导航器的更新函数(状态机模式)

Source:
Type:
  • function

velocityX :number

角色移动速度X

Source:
Type:
  • number

velocityY :number

角色移动速度Y

Source:
Type:
  • number

vertDist :number

角色跟随目标时的最大垂直距离

Source:
Type:
  • number

Methods

_circleApproachTarget(deltaTime)

圆形模式 - 接近目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_circleFollowTarget(deltaTime)

圆形模式 - 跟随目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_circleFollowTargetOnce(deltaTime)

圆形模式 - 跟随目标角色(一次)

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_circleLeaveTarget(deltaTime)

圆形模式 - 远离目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_circleNavigateToTarget(deltaTime)

圆形模式 - 导航到目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_followTargetBuffer(deltaTime)

跟随目标角色时用来切换状态的缓冲函数

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_rectangleApproachTarget(deltaTime)

矩形模式 - 接近目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_rectangleFollowTarget(deltaTime)

矩形模式 - 跟随目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_rectangleFollowTargetOnce(deltaTime)

矩形模式 - 跟随目标角色(一次)

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_rectangleNavigateToTarget(deltaTime)

矩形模式 - 导航到目标角色

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

_switchToFollowTargetBuffer()

切换到跟随缓冲模式,如果是跟随一次则停止移动

Source:

calculateVelocity(angle)

计算角色的移动速度分量

Source:
Parameters:
Name Type Description
angle number

移动速度的角度(弧度)

followCircle(target, minDist, maxDist, offsetopt, navigateopt, bypassopt, onceopt)

跟随目标角色(圆形模式)

Source:
Parameters:
Name Type Attributes Default Description
target Actor

目标角色

minDist number

保持最小距离

maxDist number

保持最大距离

offset number <optional>
0

跟随位置偏移[-0.8 ~ +0.8]

navigate boolean <optional>
false

是否开启自动寻路

bypass boolean <optional>
false

自动寻路是否绕过角色

once boolean <optional>
false

跟随一次(到达位置后停止移动)

followRectangle(target, minDist, maxDist, vertDistopt, navigateopt, bypassopt, onceopt)

// 跟随目标角色(矩形模式)

Source:
Parameters:
Name Type Attributes Default Description
target Actor

目标角色

minDist number

保持最小水平距离

maxDist number

保持最大水平距离

vertDist number <optional>
0

保持最大垂直距离

navigate boolean <optional>
false

是否开启自动寻路

bypass boolean <optional>
false

自动寻路是否绕过角色

once boolean <optional>
false

跟随一次(到达位置后停止移动)

moveTo(x, y)

角色移动到指定位置

Source:
Parameters:
Name Type Description
x number

场景图块X

y number

场景图块Y

moveTowardAngle(angle)

角色向指定角度持续移动

Source:
Parameters:
Name Type Description
angle number

移动角度(弧度)

角色导航到指定位置

Source:
Parameters:
Name Type Attributes Default Description
x number

场景图块X

y number

场景图块Y

bypass boolean <optional>
false

是否绕过角色

onFinish(callback)

设置移动结束回调函数

Source:
Parameters:
Name Type Description
callback function

在角色停止当前的移动行为后触发

route(path, navigateopt)

角色设置移动路线

Source:
Parameters:
Name Type Attributes Default Description
path Float64Array

移动路线,长度是2的整数倍

navigate boolean <optional>
false

是否开启导航

setMovementFactor(factor)

设置角色的移动速度系数

Source:
Parameters:
Name Type Description
factor number

移动速度系数

setMovementFactorTemp(factor)

设置角色的移动速度系数(临时)

Source:
Parameters:
Name Type Description
factor number

移动速度系数(不保存)

setMovementSpeed(speed)

设置角色的移动速度

Source:
Parameters:
Name Type Description
speed number

移动速度(图块/秒)

stopMoving()

角色停止移动

Source:

updateForwardMovement(deltaTime)

更新角色向前移动

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)

updatePathMovement(deltaTime)

更新角色路径移动

Source:
Parameters:
Name Type Description
deltaTime number

增量时间(毫秒)