弹道捕获器
弹道捕获器是附着在单位身上的一个圆形范围,当有弹道进入该范围时会触发on_enter事件;当有弹道离开该范围时会触发on_leave事件。此外,当弹道捕获器创建出来时一开始就在内部的弹道也会触发on_enter事件;当弹道捕获器移除时依然在内 部的弹道也会触发on_leave事件。
弹道捕获器的范围会跟随着附着单位移动,每个单位只能拥有一个捕获器。如果你需要给不特定的单位添加弹道捕获器,应该使用马甲令其跟随单位,将弹道捕获器附着在这个马甲身上。
弹道被捕获后,你可以使用unit:each_mover来找到弹道的运动。
创建
使用unit:capturer来创建弹道捕获器。
-- 将创建出来的弹道捕获器保存下来,之后需要给他注册事件
local capturer = unit:capturer
{
-- 弹道捕获器的范围
radius = 500,
}
###属性 属性应该在[创建]弹道捕获器时时设置。
radius
捕获范围(number)
事件
事件需要在[创建]弹道捕获器时注册。事件中的self
表示捕获器对象。
on_enter
弹道进入事件
- 回调参数
- missile (unit) - 进入范围的弹道单位
function capturer:on_enter(missile)
-- 你的代码
end
on_leave
弹道离开事件
- 回调参数
- missile (unit) - 进入范围的弹道单位
function capturer:on_leave(missile)
-- 你的代码
end
方法
remove
移除捕获器
由c++实现的api
capturer:remove()