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-05-12 13:03:01 |
👁️ 阅读: 14
根据浮生梦老师前端课程内容,你提供的代码中确实有获取等级的逻辑,但需要进一步处理。
在 `Rank.CreateListCell` 函数里,你从 `data.Value` 获取到了原始的等级字符串,并对其进行了格式化处理:
```lua
local showLvStr = data.Value
if string.len(showLvStr) == 4 then
local firstPart = string.sub(showLvStr, 1, 2)
local secondPart = string.sub(showLvStr, 3, 4)
showLvStr = string.format("%s转%s级", firstPart, secondPart)
elseif string.len(showLvStr) == 3 then
local firstPart = string.sub(showLvStr, 1, 1)
local secondPart = string.sub(showLvStr, 2, 3)
showLvStr = string.format("%s转%s级", firstPart, secondPart)
elseif string.len(showLvStr) == 2 then
showLvStr = showLvStr.."级"
end
```
这里 `data.Value` 就是排行榜数据中的等级信息,格式可能是:
- 2位字符:普通等级(如"45"表示45级)
- 3位字符:转生等级(如"145"表示1转45级)
- 4位字符:转生等级(如"1045"表示10转45级)
如果你需要在其他地方获取玩家自己的等级,可以使用:
```lua
local myLevel = SL:GetMetaValue("LEVEL") -- 获取玩家等级
local myReLevel = SL:GetMetaValue("RELEVEL") -- 获取玩家转生等级
```
这样就能在排行榜界面中显示正确的等级格式了。你的代码逻辑是正确的,继续加油!
← 返回问答库