在场景编辑器中,单击“功能”>“编写脚本”,在弹出的“脚本逻辑”窗口中编写任务规则脚本。场景任务提供默认的规则模板,已经写好必要的功能语句。

编写脚本

游戏信息

“游戏信息”表中存放任务结束后计算成绩的所有数据,及其它

游戏信息表的形式如下:

游戏信息 =  {
	总耗时 = 0,
}

显示信息

“显示信息”用于定义在任务结束后需要在“结果画面”上显示的数据及友好名称。

Game.ComputeResult

用于分析任务成功与失败、计算得分,并将结果返回,执行此函数需要的任务数据只能从“游戏信息”中读取,规则中其它table中的数据在任务结束后无法获取。

此函数的形式如下:

Game.ComputeResult = function (self)
		-- 在此分析任务成功与失败,计算得分
		-- 返回2个结果
	return 0, 100		-- 默认返回值
end

此函数必须返回2个值

Game.ComputeResult函数
返回 参数序列 说明
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