Rank = {}
Rank._rankType = 1 -- 排行榜类型页签
Rank._showDataType = 1 -- 排行榜展示数据类型 (人物1-4 英雄6-9 总 战 法 道)
Rank._showLevel = false
Rank._path = "res/private/rank_ui/rank_ui_win32/"
function Rank.main(type)
local parent = GUI:Attach_Parent()
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-09 13:57:00 |
👁️ 阅读: 0
在浮生梦老师的前端课程中,调用自定义排行榜ID 2的关键位置在 `Rank.InitTypeBtn` 函数中。
具体来说,当点击排行榜的“英雄”类型页签时,会触发 `setTypeFunc` 函数。在这个函数内部,会根据 `Rank._rankType`(当前排行榜类型页签)和选择的类型(玩家或英雄)来计算 `showDataType`(最终展示的数据类型)。
对于英雄排行榜,其数据类型是在玩家排行榜类型的基础上加5。因此,如果你想调用自定义排行榜ID 2,需要确保 `Rank._rankType` 被设置为2,并且当前选择的是英雄类型(`Rank._selectType` 为2)。
以下是相关代码逻辑的说明:
```lua
-- 在 Rank.InitTypeBtn 函数中
local function setTypeFunc(type, isInit)
-- ... 其他代码 ...
if not isInit and Rank._selectType == 2 and type == 1 then
Rank._rankType = Rank._showDataType - 5
end
Rank._selectType = type
local showDataType = isInit and Rank._rankType or (type == 2 and (Rank._rankType + 5) or Rank._rankType)
if showDataType ~= Rank._showDataType then
isInitRequest = false
Rank._showDataType = showDataType
-- 请求排行榜数据
SL:RequestRankData(Rank._showDataType)
end
SL:ReqNotifyClickRankType(Rank._selectType)
end
```
**调用方式:**
1. **设置 `Rank._rankType` 为 2**:这表示你想要的是自定义排行榜类型2。
2. **设置 `Rank._selectType` 为 2**:这表示你要查看“英雄”类型的排行榜。
3. **触发数据请求**:当 `showDataType` 被计算为 `2 + 5 = 7` 时,`SL:RequestRankData(7)` 会被调用,这对应着英雄类型的自定义排行榜ID 2的数据。
**简单来说,要调用英雄类型的自定义排行榜ID 2,你需要请求的数据类型(`showDataType`)是 7。** 这个逻辑封装在页签切换的函数里,通常你只需要通过UI操作(点击“英雄”页签)来触发,或者通过代码直接设置相关变量并调用 `SL:RequestRankData(7)` 来请求数据。
← 返回问答库