道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
函数监听接口:ListenParam
彼得兔 更新时间: 2023-04-26 10:20:18

具体函数名及描述如下:

序号 函数名 函数描述
1 AddGraphicsListenParam(...) 添加图文信息 监听触发器参数 刷新的对象id 参数信息 回调方法

AddGraphicsListenParam

  • 参数及类型:

    • graphid:number已创建的图文信息ID
    • funcs:table监听函数列表
    • param:table监听函数需要的参数
  • 返回值及类型:

  • 该方法的主要作用:添加图文信息 监听触发器参数 刷新的对象id 参数信息 回调方法

  • 具体使用案例如下:

-- 创建进度条基本信息
local function func_3()
    local v1 = math.random(1,100) -- 进度条的当前值
    local v2 = 100  -- 进度条的最大值
    local v3 = 0xFFC107  --颜色代码
    local v4 = 1  -- 编号
    return Graphics:makeGraphicsProgress(v1, v2, v3, v4)
end
local function getdir(playerid)
    return {x =0 ,y =1,z = 0}
end
-- 触发器时间回调函数
local function func_event(param)
    local playerid = CurEventParam.TriggerByPlayer
    if playerid then
        local offest = 100 -- 方向上的偏移距离
        local dir = getdir(playerid) -- 获取方向
        local graphinfo = func_3() -- 获取图文信息
        -- 创建一个进度条信息
        local result, grapid = Graphics:createGraphicsProgressByActor(playerid,graphinfo,dir,offest)
        if result == ErrorCode.OK then
            -- 获取进度条的当前值
			local function getCurValue(params)
				local cur = Player:getAttr(params.TriggerByPlayer,PLAYERATTR.CUR_HP) -- 获取当前血量
				return cur + math.random(1,20)
			end
			-- 获取进度条的最大值
			local function getMaxValue(params)
				local max = Player:getAttr(params.TriggerByPlayer,PLAYERATTR.MAX_HP) -- 获取最大血量
				return max + math.random(50,100)
			end
			--监听的函数列表
			local funcs = {getCurValue,getMaxValue} 
			-- 将创建成功的进度条添加进自动监听
            ListenParam:AddGraphicsListenParam(grapid,funcs,param) 
        end
    end
end
ScriptSupportEvent:registerEvent('Player.PlayAction', func_event)

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