规则脚本编写--规则模板
在场景编辑器中,单击“功能”>“编写脚本”,在弹出的“脚本逻辑”窗口中编写任务规则脚本。场景任务提供默认的规则模板,已经写好必要的功能语句。
游戏信息
“游戏信息”表中存放任务结束后计算成绩的所有数据,及其它
游戏信息表的形式如下:
游戏信息 = { 总耗时 = 0, }
显示信息
“显示信息”用于定义在任务结束后需要在“结果画面”上显示的数据及友好名称。
Game.ComputeResult
用于分析任务成功与失败、计算得分,并将结果返回,执行此函数需要的任务数据只能从“游戏信息”中读取,规则中其它table中的数据在任务结束后无法获取。
此函数的形式如下:
Game.ComputeResult = function (self) -- 在此分析任务成功与失败,计算得分 -- 返回2个结果 return 0, 100 -- 默认返回值 end
此函数必须返回2个值
返回 | 参数序列 | 说明 |
---|---|---|
return | ret1 number | 任务是否成功 0:成功 1:失败 |
return | ret2 number | 数值型得分 |
Game.IsGameOver
Game.GameReset
GameReset是仿真复位后操作函数。初始进入仿真或复位之后(恢复到搭建时状态)、仿真未开始之前调用一次GameReset函数,主要用于初始化场景。可在此函数中设置与任务相关的物体的属性,如位置、朝向、显示/隐藏、颜色等,及起始点的位置、朝向,可产生随机事件等。
在此函数设置起始点的位置、朝向后,与之关联的机器人的初始位置、朝向会随之改变。
在此函数不能获取机器人的任务信息,这样做将会提示出错。
此函数的形式如下
Game.GameReset = function(self) -- 执行复位时操作 end
Game.GameInit
GameInit是仿真开始时初始化操作函数。开始仿真时调用一次GameInit函数,主要用于初始化场景。可在此函数中设置与任务相关的物体属性,如位置、朝向、显示/隐藏、颜色等,可产生随机事件等。
在此函数设置起始点的位置、朝向时,仅对起始点本身起作用,对关联到起始点的机器人不再起作用。
在此函数可以获取机器人的相关信息。
此函数的形式如下:
Game.GameInit = function(self) -- 执行初始化操作 end
Game.Update
Update是仿真时每帧调用函数。仿真运行时每帧都会调用一次此函数,其主要作用如下:
1. 根据规则检测机器人完成任务的情况
2. 记录机器人的得分
3. 与机器人的运行进行互动
此函数的形式如下:
Game.Update(self, fDelta) -- 规则内容 end