跳转到内容

TriggerBox

触发盒

元件触发盒相关操作

函数列表

IsCharacterInTriggerBox

  • 描述: 判断角色是否处于触发盒内,是返回true,否返回false。

  • 范围: 服务端、客户端

参数列表:

参数类型说明
playerUIDnumber玩家ID
signalBoxnumber触发盒场景ID

返回字段:

返回字段字段类型说明
isInRegionboolean是否在触发盒内
local playerUID = 610140737498231334
local signalBox = 240
local bInTriggerBox = TriggerBox:IsCharacterInTriggerBox(playerUID,signalBox)
if bInTriggerBox then
Log:PrintLog("playerUID为610140737498231334玩家在id为240触发盒内")
else
Log:PrintLog("playerUID为610140737498231334玩家不在id为240触发盒内")
end

IsElementInTriggerBox

  • 描述: 判断元件是否处于触发盒内,是返回true,否返回false。

  • 范围: 服务端、客户端

参数列表:

参数类型说明
elementnumber元件场景ID
signalBoxnumber触发盒场景ID

返回字段:

返回字段字段类型说明
isInRegionboolean是否在触发盒内
local element = 236
local signalBox = 239
--注意此接口使用的时候需要在对应的触发器->触发效果的元件一栏->勾选对应类型元件
local bInTriggerBox = TriggerBox:IsElementInTriggerBox(element,signalBox)
if bInTriggerBox then
Log:PrintLog("元件Id为236元件在id为239触发盒内")
else
Log:PrintLog("元件Id为236元件不在id为239触发盒内")
end

IsPositionInTriggerBox

  • 描述: 判断坐标是否处于触发盒内,是返回true,否返回false。

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PosEngine.Vector场景坐标
signalBoxnumber触发盒场景ID

返回字段:

返回字段字段类型说明
isInRegionboolean是否在触发盒内
local Pos = Engine.Vector(-4000,-1000,0)
local signalBox = 240
local bInTriggerBox = TriggerBox:IsPositionInTriggerBox(Pos,signalBox)
if bInTriggerBox then
Log:PrintLog("坐标在id为240触发盒内")
else
Log:PrintLog("坐标不在id为240触发盒内")
end

GetRandomPosition

  • 描述: 返回触发盒中随机坐标。

  • 范围: 服务端、客户端

参数列表:

参数类型说明
signalBoxnumber触发盒场景ID

返回字段:

返回字段字段类型说明
posEngine.Vector触发盒中随机坐标
local signalBox = 240
local pos = TriggerBox:GetRandomPosition(signalBox)
Log:PrintLog("pos X,Y,Z :" .. pos.X,pos.Y,pos.Z)