事件函数中所有提及“机器人名称”处,在编写规则时均应使用“起始点”的名称。

接触

接触
函数/作用 参数/返回值/说明
Event.IsTouch(rName, tName)
检测机器人/物体是否与触发器接触
参数
rName string:机器人/物体名称
tName string:触发器名称
返回
touch bool:是否接触,true接触,false未接触
说明
机器人/物体与触发器接触时返回true,接触过未离开或已离开时返回false
示例
if Event.IsTouch(“起始点”, “触发方块”) then
ShowMsg(“机器人到这里了!”)
end

整体进入

整体进入
函数/作用 参数/返回值/说明
Event.IsAllIn(rName, tName)
检测机器人/物体是否与触发器接触
参数
rName string:机器人/物体名称
tName string:触发器名称
返回
allOut bool:是否进入,true进入,false未进入、未整体进入或已离开
说明
机器人/物体整体离开触发器时返回true,未离开或未接触时返回false
示例
if Event.IsAllIn(“起始点”, “触发方块”) then
ShowMsg(“机器人进入这里了!”)
end

整体离开

整体离开
函数/作用 参数/返回值/说明
Event.IsAllOut(rName, tName)
检测机器人/物体是否与触发器接触
参数
rName string:机器人/物体名称
tName string:触发器名称
返回
allOut bool:是否离开,true离开,false未离开或未接触
说明
机器人/物体整体离开触发器时返回true,未离开或未接触时返回false
示例
if Event.IsAllOut(“起始点”, “触发方块”) then
ShowMsg(“机器人进入这里了!”)
end

整体通过Z轴

整体通过Z轴
函数/作用 参数/返回值/说明
Event.IsAllPass(rName, tName)
检测机器人/物体是否整体通过触发器z轴
参数
rName string:机器人/物体名称
tName string:触发器名称
返回
allOut bool:是否整体通过Z轴,true通过,false未通过、未接触或未离开
说明
机器人/物体整体通过触发器Z轴时返回true,未通过、未接触或未离开时返回false
示例
if Event.IsAllPass(“起始点”, “触发方块”) then
ShowMsg(“机器人通过这里了!”)
end

离开所有触发器

离开所有触发器常用于检测机器人在行走轨迹时是否脱离轨迹线。

轨迹线常由多种线条组合,每种线条使用一个触发器用于检测,机器人与其中任意一个接触时,认为机器人仍在轨迹线上,机器人离开所有触发器后脱离轨迹线。

离开所有触发器
函数/作用 参数/返回值/说明
Event.IsLeaveAll(rName, tName1, tName2...)
检测机器人/物体是否离开参数列表中所有触发器
参数
rName string:机器人/物体名称
tName1 string:触发器名称1
tName2 string:触发器名称2
...表示可有多个触发器,使用“,”分隔
返回
leaveAll bool:是否离开所有触发器,true离开所有,即没有与任何一个接触,false至少与其中一个触发器接触
示例
if Event.IsLeaveAll(“起始点”, “触发方块”, “ 触发方块_2”, “触发方块_3”) then
ShowMsg(“机器人脱离轨迹线!”)
end

碰撞

碰撞
函数/作用 参数/返回值/说明
Event.IsCollide(rName, name)
检测机器人/物体是否与另一个物体发生碰撞
参数
rName string:机器人/物体名称
name string:另一个物体名称
返回
collide bool:是否碰撞,true发生碰撞,false未碰撞
示例
if Event.IsCollide(“起始点”, “立方体”) then
ShowMsg(“机器人碰到东西了!”)
end

时间相关

时间相关
函数/作用 参数/返回值/说明
Event.TimeOver(eName, time)
设置定时,时间到时返回true
参数
eName string:自定义事件名称
time number:定时时长,单位毫秒
返回
over bool:是否到达定时时间,true到达,false未到达或已超过失效
示例
if Event.TimeOver(“定时”, 3000) then
ShowMsg(“定时3秒时间到了。”)
end
Event.EverySeconds(eName, interval,ev)
设置事件发生的开始及每隔一段时间报告一次
参数
eName string:自定义事件名称
interval number:间隔时间,单位毫秒
ev bool:事件发生,true发生,false未发生
返回
当某个持续发生的事件发生时,第一次返回一次true,其后每隔指定时间返回一次true
示例
if Event.EverySeconds(“失败”, 5000, true) then
ShowMsg(“任务失败了!”, “red”)
end
任务失败时,第一次显示一次消息,然后每隔5秒显示一次消息提醒用户。
Event.ShowMsgEverySeconds(eName,interval, ev, msg)
基本作用同上,事件发生时第一次显示一次消息,其后每隔一段时间显示一次消息
参数
eName string:自定义事件名称
interval number:间隔时间,单位毫秒
ev bool:事件发生,true发生,false未发生
msg string:要显示的消息
Event.ShowMsgEverySeconds(“失败”, 5000, true, “任务失败了!”)
Event.IsContinue(eName, time, ev)
检测事件是否持续发生指定时间
参数
eName string:自定义事件名称
time number:持续时间,单位毫秒
ev bool:事件发生,true发生,false未发生
示例
if Event.IsContinue(“脱离”,1000, true) then
ShowMsg(“机器人脱离轨迹线”)
end
当机器人持续脱离轨迹线超过1秒钟时,显示消息。当机器人仅短时间内脱离时不提示消息。
Event.OnlyOnce(eName)
仅在第一次调用时返回true
参数
eName string:自定义事件名称
返回
once bool:第一次调用时返回true,之后总是返回false
说明
在循环希望只做一次的操作可以使用这个函数实现。
示例
if Event.OnlyOnce(“开始”) then
ShowMsg(“任务开始了!”)
end
仅显示一次消息。
Event.ShowMsgOnlyOnce(eName, msg)
仅显示一次消息
参数
eName string:自定义事件名称
msg string:消息内容
示例
Event.ShowMsgOnlyOnce(“开始”,任务开始了!”)