# 游戏管理接口 Game
在使用游戏接口前需先创建游戏管理对象,方法如下:(此处已废弃)
local Game = class.Game.new()
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | doGameEnd(...) | 游戏结束 |
2 | getDefString(...) | 获取默认字符串 |
3 | setScriptVar(...) | 设置脚本参数,供自定义使用 |
4 | getScriptVar(...) | 获取脚本参数,自定义使用 |
5 | sendScriptVars2Client(...) | 上传设置好的脚本参数 |
6 | addRenderGlobalEffect(...) | 新增全局效果 |
7 | removeRenderGlobalEffect(...) | 移除全局效果 |
8 | setRenderGlobalEffectPos(...) | 设置全局效果位置 |
9 | setRenderGlobalEffectScale(...) | 设置全局效果缩放 |
10 | msgBox(...) | 消息弹框 |
11 | splitStr(...) | 分割字符串 |
# doGameEnd
--每当玩家做动画表情,就会游戏结束
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--结束游戏
Game:doGameEnd(nil)
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# getDefString
- 参数及类型:
- id:
string
字符串ID
- id:
- 返回值及类型:
- 该方法的主要作用: 获取默认字符串
- 具体使用案例如下:
--获取id为1的默认字符串,参数1为默认字符串id(不建议使用此接口)
local result,str=Game:getDefString(1)
--在聊天框显示
Chat:sendSystemMsg("id为1的默认字符串内容为:"..str)
# setScriptVar
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置脚本参数,供自定义使用
- 具体使用案例如下:
local code = Game:setScriptVar(index, val)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# getScriptVar
- 参数及类型:
- index:
number
序列索引(0~100)
- index:
- 返回值及类型:
- 该方法的主要作用: 获取脚本参数,自定义使用
- 具体使用案例如下:
local code, val = Game:getScriptVar(index)
if code == ErrorCode.OK then
print('执行成功', code, val )
else
print('执行失败')
end
# sendScriptVars2Client
local code = Game:sendScriptVars2Client()
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# addRenderGlobalEffect
--在游戏添加一个迷雾特效,目前参数只支持一个"particles/Fog.ent"
local result,effectid = Game:addRenderGlobalEffect("particles/Fog.ent")
--在聊天框显示
Chat:sendSystemMsg("添加了一个迷雾效果!id为"..effectid)
# removeRenderGlobalEffect
--移除id为1的地图特效,参数1为要移除的特效id
Game:removeRenderGlobalEffect(1)
--在聊天框显示
Chat:sendSystemMsg("移除了id为1的地图特效")
# setRenderGlobalEffectPos
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置全局效果位置
- 具体使用案例如下:
--把id为1的地图特效移动至(10,10)高度7
--第一个参数为特效id
--后三个参数为移动至坐标
Game:setRenderGlobalEffectPos(1,10,7,10)
--在聊天框显示
Chat:sendSystemMsg("把id为1的特效移动到了坐标(0,0)高度7的位置")
# setRenderGlobalEffectScale
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置全局效果缩放
- 具体使用案例如下:
--把id为1的地图特效放大两倍
--第一个参数为需要缩放的特效id
--后三个参数分别为特效在x、y、z方向上的缩放倍数
Game:setRenderGlobalEffectScale(1,2,2,2)
--在聊天框显示
Chat:sendSystemMsg("把id为1的特效放大了2倍")
# msgBox
--每当玩家做动画表情,显示一个弹窗
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--显示一个游戏弹窗,参数为弹窗显示内容
Game:msgBox("这是一个弹窗!")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# splitStr
- 参数及类型:
- str:
string
分割的字符串 - mark:'string'分割符号
- str:
- 返回值及类型:
- 该方法的主要作用: 分割字符串
- 具体使用案例如下:
local code, strs = Game:splitStr(str, mark)
if code == ErrorCode.OK then
print('执行成功', code, strs )
else
print('执行失败')
end