跳到主要内容

区域

区域是由多个顶点构成的闭合形状,当单位进入该区域时会触发on_enter事件,当单位离开该区域时会触发on_leave事件。此外创建区域时,已经在区域内的单位也会触发on_enter事件,移除区域时还待在区域内的单位也会触发on_leave事件。

创建

  • 参数
    • list (table) - 顶点列表
    • scene_name (string) - 场景
  • 返回
    • region (region) - 区域

顶点列表是一个存放了多个的序列,这些点依次连接起来(最后一个点连接第一个点)形成一个区域。注意,如果这个列表无法形成一个闭合形状(比如连线有交叉),那么相关事件的行为是未定义的。

local region = base.region.polygon({
points = {
point1,
point2,
point3,
point4,
}
}, scene_name)

事件

on_enter

进入区域

  • 事件参数
    • unit (unit) - 进入区域的单位
function region:on_enter(unit)
-- 你的代码
end

on_leave

离开区域

  • 事件参数
    • unit (unit) - 离开区域的单位
function region:on_leave(unit)
-- 你的代码
end

方法

remove

移除区域

  • 参数
    • notify(bool) 是否触发on_leave

由c++实现的api

region:remove(bool)