local __GD_Scale = SL:GetMetaValue("GAME_DATA", "itemSacle")
local __GD_Style = SL:GetMetaValue("GAME_DATA", "goods_item_star_styleid") or ""
local __GD_PowerDir = SL:GetMetaValue("GAME_DATA", "itemPowerTagDir") or 0
local __GD_ItemLock = SL:GetMetaV
在浮生梦老师前端课程内容中,背包装备上显示的“+20”这类星级文本,是在 `Item:SetStarLevel(star)` 函数中处理的。
具体修改位置如下:
```lua
function Item:SetStarLevel(star)
local Text_star = self._ui["Text_star_lv"]
if not Text_star then
return false
end
if not (star and star > 0) then
GUI:Text_setString(Text_star, "")
return false
end
-- 这里是设置星级文本的地方,默认显示为 "+" .. star
-- 例如:star=20 就会显示 "+20"
GUI:Text_setString(Text_star, "+" .. star)
-- 后续代码是设置文本样式
local styles = SL:Split(__GD_Style, "#")
local id = tonumber(styles[1])
local offX = tonumber(styles[2]) or 0
local offY = tonumber(styles[3]) or 0
if id then
SL:SetColorStyle(Text_star, id)
end
if not Text_star.loaded then
Text_star.loaded = true
local p = GUI:getPosition(Text_star)
GUI:setPosition(Text_star, p.x + offX, p.y + offY)
end
end
```
要修改显示的格式,可以修改第14行的代码:
```lua
-- 示例1:只显示数字,不显示加号
GUI:Text_setString(Text_star, star)
-- 示例2:显示为"★20"
GUI:Text_setString(Text_star, "★" .. star)
-- 示例3:显示为"Lv.20"
GUI:Text_setString(Text_star, "Lv." .. star)
```
这个函数在 `Item:InitData(data)` 中被调用,当物品有星级时会显示对应的文本。