UIOperator:OpenFuncDockTips(data) 怎么用
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-23 20:23:03 |
👁️ 阅读: 11
根据浮生梦老师前端课程内容,`SL:OpenFuncDockTips(data)` 函数用于打开一个功能菜单(通常称为功能坞或操作菜单),该菜单会根据传入的数据参数显示不同的操作按钮。
**基本用法:**
```lua
-- 创建数据参数
local data = {
type = DOCKTYPE_NENUM.Func_Player_Head, -- 菜单类型,决定显示哪些按钮
targetId = SL:GetMetaValue("ACTOR_ID", actorID), -- 目标ID(如玩家ID)
targetName = SL:GetMetaValue("ACTOR_NAME", actorID), -- 目标名称
pos = {x = touchPos.x + 15, y = touchPos.y} -- 菜单显示位置
}
-- 打开功能菜单
SL:OpenFuncDockTips(data)
```
**参数详解:**
- `type`:菜单类型,通常是 `DOCKTYPE_NENUM` 枚举值,如:
- `Func_Player_Head`:对玩家显示的操作菜单
- `Func_Monster_Head`:对怪物显示的操作菜单
- `targetId`:目标对象的唯一ID
- `targetName`:目标对象的名称
- `pos`:菜单显示的位置坐标(x, y)
- `notClick`(可选):布尔值,点击背景层后是否关闭菜单
- `exitCallBack`(可选):关闭菜单后的回调函数
- `anchorPoint`(可选):锚点位置,默认 {x = 0, y = 1}
- `showType`(可选):显示类型,1=操作其他玩家,2=道具tips按钮
- `basic`(可选):玩家基础信息
**使用场景示例:**
通常在点击玩家头像或右键点击玩家时调用:
```lua
local function openFuncDock(touchPos)
local data = {
type = SL:GetMetaValue("ACTOR_IS_HUMAN", actorID) and DOCKTYPE_NENUM.Func_Monster_Head or DOCKTYPE_NENUM.Func_Player_Head,
targetId = SL:GetMetaValue("ACTOR_ID", actorID),
targetName = SL:GetMetaValue("ACTOR_NAME", actorID),
pos = {x = touchPos.x + 15, y = touchPos.y}
}
SL:OpenFuncDockTips(data)
end
```
**注意事项:**
1. 菜单按钮的显示由系统函数 `SL:GetMetaValue("CHECK_FUNCBTN_SHOW", dockType, btnType)` 控制
2. 可以通过 `SL:SetMetaValue("FUNCDOCK_PARAM", data)` 设置菜单参数供其他函数使用
3. 关闭菜单使用 `SL:CloseFuncDockTips()` 函数
← 返回问答库