GUI:setVisible(JM_show, true)
local item_Panel_1 = GUI:getChildByName(JM_show, "item_Panel_1")
local ListView_fj = GUI:getChildByName(JM_show, "ListView_fj")
GUI:removeAllChildren(ListView_fj)
local bagItems = SL:GetMe
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-05 02:10:36 |
👁️ 阅读: 4
根据浮生梦老师前端课程内容,要在 `itemWidget` 上添加一个可穿透点击的容器,可以按照以下步骤实现:
```lua
-- 创建物品显示控件
local x = SL:GetMetaValue("CURRENT_OPERMODE") == 1 and 15 or 0
local y = SL:GetMetaValue("CURRENT_OPERMODE") == 1 and 15 or 0
local itemWidget = GUI:ItemShow_Create(item_bj, "fj_item" .. posInPage, x, y, itemDataTable)
-- 在物品控件上创建一个容器
local container = GUI:Widget_Create(itemWidget, "click_container", 0, 0, 100, 100) -- 调整尺寸覆盖物品区域
-- 设置容器可穿透点击
GUI:setTouchEnabled(container, true)
GUI:setSwallowTouches(container, false) -- 允许点击穿透
-- 为容器添加点击事件
GUI:addOnClickEvent(container, function()
SL:print("点击了物品容器!物品Index:", itemData.Index)
-- 这里可以添加你需要的其他逻辑
end)
```
**关键点说明:**
1. `GUI:Widget_Create` 在物品控件上创建了一个子容器
2. `GUI:setSwallowTouches(container, false)` 设置点击穿透,允许事件传递到下层
3. 容器尺寸需要根据实际物品大小调整,确保完全覆盖点击区域
这样就能在物品显示上添加一个透明的点击层,既有点击效果又不会阻挡物品本身的显示。
← 返回问答库