if refined.eqInfo[12] then
local buttonName = "but_"..p3
if refined.eqInfo[12].hasEquip == false then
if refined.ui[buttonName] then
GUI:Image_Create(refined.ui[buttonName], "highBright", 0, 0, "res/public
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-20 13:28:35 |
👁️ 阅读: 16
看了你的代码,问题主要出在图片创建的逻辑上。当 `refined.eqInfo[12].hasEquip == false` 时,你尝试在按钮上创建图片,但有几个关键点需要注意:
1. **图片创建时机**:图片创建应该在按钮创建后立即进行,而不是在点击时才判断
2. **坐标位置**:图片创建在按钮的 (0,0) 位置,可能被按钮本身覆盖
3. **重复创建**:每次点击都会创建新图片,可能导致重叠
修改建议:
```lua
-- 在按钮创建时就判断是否需要添加高亮图片
local buttonName = "but_"..p3
local button = GUI:Button_Create(parent, buttonName, x, y, "res/public/1900000612.png")
-- 根据装备状态添加高亮图片
if refined.eqInfo[12] and refined.eqInfo[12].hasEquip == false then
-- 创建高亮图片作为按钮的子节点
local highLight = GUI:Image_Create(button, "highBright", 0, 0, "res/public/1900000582.png")
-- 设置图片层级,确保显示在按钮上方
GUI:setLocalZOrder(highLight, 1)
end
-- 点击事件中只需要更新ItemShow
GUI:addOnClickEvent(button, function()
if refined.eqInfo[12] and refined.ui.ItemShow_1 then
GUI:ItemShow_updateItem(refined.ui.ItemShow_1, refined.eqInfo[12].idx or 0)
end
end)
```
**关键点说明**:
- 图片应该在按钮创建时一次性创建,而不是每次点击都创建
- 使用 `GUI:setLocalZOrder()` 确保图片显示在按钮上方
- 检查按钮是否已存在同名图片,避免重复创建
如果还有问题,检查一下 `refined.eqInfo[12]` 的数据是否正确,以及按钮的父节点是否有效。下次写代码细心点,不懂的可以问我!
看了你的代码,问题主要出在图片创建的逻辑上。当 `refined.eqInfo[12].hasEquip == false` 时,你尝试在按钮上创建图片,但有几个关键点需要注意:
1. **图片创建时机**:图片创建应该在按钮创建后立即进行,而不是在点击时才判断
2. **坐标位置**:图片创建在按钮的 (0,0) 位置,可能被按钮本身覆盖
3. **重复创建**:每次点击都会创建新图片,可能导致重叠
修改建议:
```lua
-- 在按钮创建时就判断是否需要添加高亮图片
local buttonName = "but_"..p3
local button = GUI:Button_Create(parent, buttonName, x, y, "res/public/1900000612.png")
-- 根据装备状态添加高亮图片
if refined.eqInfo[12] and refined.eqInfo[12].hasEquip == false then
-- 创建高亮图片作为按钮的子节点
local highLight = GUI:Image_Create(button, "highBright", 0, 0, "res/public/1900000582.png")
-- 设置图片层级,确保显示在按钮上方
GUI:setLocalZOrder(highLight, 1)
end
-- 点击事件中只需要更新ItemShow
GUI:addOnClickEvent(button, function()
if refined.eqInfo[12] and refined.ui.ItemShow_1 then
GUI:ItemShow_updateItem(refined.ui.ItemShow_1, refined.eqInfo[12].idx or 0)
end
end)
```
**关键点说明**:
- 图片应该在按钮创建时一次性创建,而不是每次点击都创建
- 使用 `GUI:setLocalZOrder()` 确保图片显示在按钮上方
- 检查按钮是否已存在同名图片,避免重复创建
如果还有问题,检查一下 `refined.eqInfo[12]` 的数据是否正确,以及按钮的父节点是否有效。下次写代码细心点,不懂的可以问我!
← 返回问答库