主站
道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
游戏接口:Game
彼得兔 更新时间: 2024-05-07 15:52:59

具体函数名及描述如下:

序号 函数名 函数描述
1 doGameEnd(...) 游戏结束
2 dispatchEvent(...) 派发自定义事件
3 getDefString(...) 获取默认字符串
4 setScriptVar(...) 设置脚本参数,供自定义使用
5 getScriptVar(...) 获取脚本参数,自定义使用
6 sendScriptVars2Client(...) 上传设置好的脚本参数
7 addRenderGlobalEffect(...) 新增全局效果
8 removeRenderGlobalEffect(...) 移除全局效果
9 setRenderGlobalEffectPos(...) 设置全局效果位置
10 setRenderGlobalEffectScale(...) 设置全局效果缩放
11 msgBox(...) 消息弹框
12 splitStr(...) 分割字符串

 

doGameEnd

  • 参数及类型: 无
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 游戏结束
  • 具体使用案例如下:
--每当玩家做动画表情,就会游戏结束
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
    --结束游戏
    Game:doGameEnd(nil)
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)

 

dispatchEvent

  • 参数及类型:
    • msgid:string事件ID
    • params:table事件参数
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 派发自定义事件
  • 具体使用案例如下:
--派发自定义事件
local function func_event(param)
    -- 自定义事件的数据
    local data = {id = 123,ops = "aaa"}
    -- 将数据转化为json字符串形式
    local ok, json = pcall(JSON.encode, JSON, data)
    -- 派发自定义事件,将json字符串存储在customdata字段中
    Game:dispatchEvent("customevent",{customdata = json})
end
ScriptSupportEvent:registerEvent('Player.PlayAction', func_event)
--自定义事件监听
local function func_event(param)
    -- 从事件数据的customdata字段中取出json字符串,并解码成原先的数据格式
    local ret, data = pcall(JSON.decode,JSON,param.customdata)
    -- 按照原先的格式读取事件的数据
    if data then
        print("id:"..tostring(data.id))
        print("ops:"..data.ops)
    end
end
ScriptSupportEvent:registerEvent('customevent', func_event)

 

getDefString

  • 参数及类型:
    • id:string字符串ID
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
    • str:string获取到的字符串
  • 该方法的主要作用: 获取默认字符串
  • 具体使用案例如下:
--获取id为1的默认字符串,参数1为默认字符串id(不建议使用此接口)
local result,str=Game:getDefString(1)
--在聊天框显示
Chat:sendSystemMsg("id为1的默认字符串内容为:"..str)

 

setScriptVar

  • 参数及类型:
    • index:number序列索引(0~100)
    • val:number索引对应的值
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置脚本参数,供自定义使用
  • 具体使用案例如下:
local code = Game:setScriptVar(index, val)
if code == ErrorCode.OK then
    print('执行成功', code )
else
    print('执行失败')
end

 

getScriptVar

  • 参数及类型:
    • index:number序列索引(0~100)
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
    • val:number索引对应的值
  • 该方法的主要作用: 获取脚本参数,自定义使用
  • 具体使用案例如下:
local code, val = Game:getScriptVar(index)
if code == ErrorCode.OK then
    print('执行成功', code, val )
else
    print('执行失败')
end

 

sendScriptVars2Client

  • 参数及类型: 无
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 上传设置好的脚本参数
  • 具体使用案例如下:
local code = Game:sendScriptVars2Client()
if code == ErrorCode.OK then
    print('执行成功', code )
else
    print('执行失败')
end

 

addRenderGlobalEffect

  • 参数及类型:
    • path:string效果名称
    • effectid:number命名ID
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 新增全局效果
  • 具体使用案例如下:
--在游戏添加一个迷雾特效,目前参数只支持一个"particles/Fog.ent"
local result,effectid = Game:addRenderGlobalEffect("particles/Fog.ent")
--在聊天框显示
Chat:sendSystemMsg("添加了一个迷雾效果!id为"..effectid)

 

removeRenderGlobalEffect

  • 参数及类型:
    • effectid:number命名ID
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 移除全局效果
  • 具体使用案例如下:
--移除id为1的地图特效,参数1为要移除的特效id
Game:removeRenderGlobalEffect(1)
--在聊天框显示
Chat:sendSystemMsg("移除了id为1的地图特效")

 

setRenderGlobalEffectPos

  • 参数及类型:
    • effectid:number命名ID
    • x,y,z:number方块坐标
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置全局效果位置
  • 具体使用案例如下:
--把id为1的地图特效移动至(10,10)高度7
--第一个参数为特效id
--后三个参数为移动至坐标
Game:setRenderGlobalEffectPos(1,10,7,10)
--在聊天框显示
Chat:sendSystemMsg("把id为1的特效移动到了坐标(0,0)高度7的位置")

 

setRenderGlobalEffectScale

  • 参数及类型:
    • effectid:number命名ID
    • scalex:numberx缩放值
    • scaley:numbery缩放值
    • scalez:numberz缩放值
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置全局效果缩放
  • 具体使用案例如下:
--把id为1的地图特效放大两倍
--第一个参数为需要缩放的特效id
--后三个参数分别为特效在x、y、z方向上的缩放倍数
Game:setRenderGlobalEffectScale(1,2,2,2)
--在聊天框显示
Chat:sendSystemMsg("把id为1的特效放大了2倍")

 

msgBox

  • 参数及类型:
    • msg:string设置的消息
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 消息弹框
  • 具体使用案例如下:
--每当玩家做动画表情,显示一个弹窗
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
    --显示一个游戏弹窗,参数为弹窗显示内容
    Game:msgBox("这是一个弹窗!")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)

 

splitStr

  • 参数及类型:
    • str:string分割的字符串
    • mark:'string'分割符号
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
    • strs:table字符串组
  • 该方法的主要作用: 分割字符串
  • 具体使用案例如下:
local code, strs = Game:splitStr(str, mark)
if code == ErrorCode.OK then
    print('执行成功', code, strs )
else
    print('执行失败')
end

 

站点有内容要更新是否更新。
更新
忽略