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
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-14 15:10:50 |
👁️ 阅读: 12
从你提供的代码来看,隐藏物品显示和星级的功能已经存在,主要在 `Item:SetOnlySFXShow()` 函数中。
**隐藏物品显示+星级的函数:**
```lua
function Item:SetOnlySFXShow()
GUI:setVisible(self._ui["Panel_extra"], false)
GUI:setVisible(self._ui["Button_icon"], false)
GUI:setVisible(self._ui["Text_count"], false)
GUI:setVisible(self._ui["Node_sfx"], true)
GUI:setVisible(self._ui["Image_power"], false)
GUI:setVisible(self._ui["Node_sfx_under"], true)
GUI:setVisible(self._ui["Image_bg"], false)
GUI:setVisible(self._ui["Node_needNum"], false)
GUI:setVisible(self._ui["Image_choosTag"], false)
GUI:setVisible(self._ui["Text_star_lv"], false)
GUI:setVisible(self._ui["Node_sfx_power"], false)
GUI:setVisible(self._ui["Node_left_top"], false)
end
```
**在背包中显示+星级的逻辑:**
在 `Item:InitData(data)` 函数中有相关控制,具体在第96-104行:
```lua
-- 是否显示星级(默认显示)
self._showStarlevel = true
if type(data.starLv) == "boolean" then
self._showStarlevel = data.starLv
end
if self._showStarlevel then
self:SetStarLevel(itemData and itemData.Star)
end
```
**使用方式:**
1. **隐藏所有显示(只显示特效):** 调用 `Item:SetOnlySFXShow()`
2. **控制是否显示星级:** 在创建Item时传入参数 `starLv = false` 来隐藏星级显示
在背包中使用时,可以通过传入 `starLv = true/false` 来控制是否显示星级,其他显示逻辑由背包的UI布局决定。
从你提供的代码来看,隐藏物品显示和星级的功能已经存在,主要在 `Item:SetOnlySFXShow()` 函数中。
**隐藏物品显示+星级的函数:**
```lua
function Item:SetOnlySFXShow()
GUI:setVisible(self._ui["Panel_extra"], false)
GUI:setVisible(self._ui["Button_icon"], false)
GUI:setVisible(self._ui["Text_count"], false)
GUI:setVisible(self._ui["Node_sfx"], true)
GUI:setVisible(self._ui["Image_power"], false)
GUI:setVisible(self._ui["Node_sfx_under"], true)
GUI:setVisible(self._ui["Image_bg"], false)
GUI:setVisible(self._ui["Node_needNum"], false)
GUI:setVisible(self._ui["Image_choosTag"], false)
GUI:setVisible(self._ui["Text_star_lv"], false)
GUI:setVisible(self._ui["Node_sfx_power"], false)
GUI:setVisible(self._ui["Node_left_top"], false)
end
```
**在背包中显示+星级的逻辑:**
在 `Item:InitData(data)` 函数中有相关控制,具体在第96-104行:
```lua
-- 是否显示星级(默认显示)
self._showStarlevel = true
if type(data.starLv) == "boolean" then
self._showStarlevel = data.starLv
end
if self._showStarlevel then
self:SetStarLevel(itemData and itemData.Star)
end
```
**使用方式:**
1. **隐藏所有显示(只显示特效):** 调用 `Item:SetOnlySFXShow()`
2. **控制是否显示星级:** 在创建Item时传入参数 `starLv = false` 来隐藏星级显示
在背包中使用时,可以通过传入 `starLv = true/false` 来控制是否显示星级,其他显示逻辑由背包的UI布局决定。
← 返回问答库