范围检测
范围检测让角色检测目标是否在一个特定的范围里。和碰撞检测不同(需要物理上的碰撞箱接触),范围检测关乎感知:敌人发现玩家,炮塔锁定目标,NPC在你接近时作出反应。
**使用场景:**当玩家进入敌人五格范围内就开始追击。守卫只能在一个锥形视野内看到玩家。检测到附近炸弹的传感器。
要使用范围检测,只需在条件分歧调用:
checkRange(source, range, target, eyes, blockRegion, exception)
source:是谁在检测。
range:检测半径(圆形,单位为图块)
eyes:(可选)视野范围,单位为角度。
blockRegion:(可选)阻断视线的区域ID
exception:(可选)带有该标签的事件会被排除在检测之外
示例

在敌人的并行处理页面,调用条件分歧
checkRange(this, 5, player)
若玩家走进敌人的5格范围之内,则返回true(右侧敌人)
checkRange(this, 7, player, 90)
敌人仅能检测到玩家在格范围内,且位于朝向敌人当前方向的90度锥形区域内的位置。(左侧敌人)
checkRange(this, 7, player, 90, 10)
现在玩家可以躲在任何区域10的物体后面,即使在锥形区域内也是如此。这像一个墙体的效果。