BagItemText = class("BagItemText")
local __GD_Style = SL:GetMetaValue("GAME_DATA", "goods_item_star_styleid") or ""
local IsWinPlayMode = SL:GetMetaValue("WINPLAYMODE")
local starOriPos = nil -- 初始星级位置
function BagItemText:ctor(parent, data)
s
在`SL:print(star)`打印的位置,如果要获取装备属性,可以这样操作:
```lua
-- 在SL:print(star)的位置获取装备属性
if star and star > 0 then
-- 获取当前道具数据
local itemData = self._itemData
if itemData then
-- 获取装备的Index
local itemIndex = itemData.Index
SL:print("装备Index:", itemIndex)
-- 获取装备的星级
local starLevel = itemData.Star
SL:print("装备星级:", starLevel)
-- 获取装备的叠加数量
local overlap = itemData.OverLap or 1
SL:print("叠加数量:", overlap)
-- 通过Index获取更详细的装备数据
local itemData = SL:GetMetaValue("ITEM_DATA", itemIndex)
if itemData then
SL:print("详细装备数据:", itemData)
end
end
end
-- 继续原有的代码
GUI:setVisible(ui_starLv, true) -- 这里应该是true,不是false
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
```
注意:你的代码中有一个错误,第68行应该是`GUI:setVisible(ui_starLv, true)`,而不是`false`,因为当star存在且大于0时,应该显示星级文本。