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
在背包中显示装备星级的代码在 `SetStarLevel` 函数里。具体位置在代码的第 **217-242 行** 左右。
```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
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
```
**核心逻辑:**
1. 从 `self._itemData.Star` 获取星级数值
2. 通过 `GUI:Text_setString(Text_star, "+" .. star)` 设置显示文本
3. 根据 `__GD_Style` 配置设置颜色和位置偏移
**调用时机:**
- 在 `InitData` 函数中初始化时调用
- 在 `UpdateGoodsItem` 函数中更新道具数据时也会调用
所以,装备在背包中显示的 `+20` 星级,就是通过这个函数设置并显示在 `Text_star_lv` 控件上的。