根据浮生梦老师前端课程内容,装备itemshow上显示的强化等级(+1、+2、+3等)通常是通过`SetStarLevel`函数来设置的。
在装备的Item组件中,强化等级(星级)的显示逻辑如下:
```lua
-- 装备星级显示
function Item:SetStarLevel(star)
local ui_starLv = self._ui["Text_star_lv"]
if not ui_starLv then
return false
end
if not (star and star > 0) then
GUI:setVisible(ui_starLv, false)
return false
end
GUI:setVisible(ui_starLv, true)
GUI:Text_setString(ui_starLv, "+" .. star)
local arrays = string.split(__GD_Style, "|")
__GD_Style = IsWinPlayMode and arrays[2] or arrays[1]
local styles = SL:Split(__GD_Style, "#")
local colorId = tonumber(styles[1])
local offX = tonumber(styles[2]) or 0
local offY = tonumber(styles[3]) or 0
if colorId then
GUI:Text_setTextColor(ui_starLv, SL:GetHexColorByStyleId(colorId))
local pos = GUI:getPosition(ui_starLv)
GUI:setPosition(ui_starLv, pos.x + offX, pos.y + offY)
end
end
```
**关键点说明:**
1. **获取UI组件**:通过`self._ui["Text_star_lv"]`获取显示强化等级的文本控件
2. **显示控制**:
- 当强化等级`star`存在且大于0时显示
- 使用`GUI:setVisible(ui_starLv, true)`显示控件
- 使用`GUI:Text_setString(ui_starLv, "+" .. star)`设置显示文本(如"+1"、"+2"等)
3. **样式配置**:
- `__GD_Style`包含样式配置字符串
- 通过`SL:Split(__GD_Style, "#")`解析样式参数
- `colorId`:控制文字颜色
- `offX`、`offY`:控制位置偏移
**调用时机:**
这个函数通常在更新道具数据时被调用,例如:
```lua
function Item:UpdateGoodsItem(itemData)
-- ... 其他代码 ...
if self._showStarlevel then
self:SetStarLevel(itemData.Star) -- itemData.Star就是强化等级
end
-- ... 其他代码 ...
end
```
**配置说明:**
强化等级的显示样式可以通过游戏数据表中的相关配置进行自定义,包括颜色、位置偏移等参数。
如果你需要修改强化等级的显示方式,可以关注以下几个方面:
1. `itemData.Star`字段的赋值
2. `__GD_Style`的配置格式
3. `Text_star_lv`控件的样式设置