还是不行
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-29 17:25:45 |
👁️ 阅读: 4
根据浮生梦老师前端课程内容,如果设置了`setSwallowTouches`仍然不行,可能是其他原因导致的。
请检查以下几点:
1. **确保父节点也设置了吞噬触摸**:
```lua
-- 父节点也需要设置
GUI:setTouchEnabled(parent, true)
GUI:setSwallowTouches(parent, true) -- 父节点也要设置
```
2. **检查控件层级关系**:
```lua
-- 确保npc.bg在快捷栏之上
GUI:setLocalZOrder(npc.bg, 999) -- 设置较高的层级
```
3. **检查是否有其他控件拦截了事件**:
```lua
-- 检查bjt是否覆盖了npc.bg
GUI:setLocalZOrder(bjt, -1) -- 将背景放到后面
```
4. **完整的事件处理示例**:
```lua
-- 创建父节点
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
GUI:setTouchEnabled(parent, true)
GUI:setSwallowTouches(parent, true)
-- 创建背景(放在底层)
local bjt = GUI:Image_Create(parent, "bjt", 0, 0, "res/public/1900000651_1.png")
GUI:setAnchorPoint(bjt, 0.5, 0.5)
GUI:setContentSize(bjt, 800, 600)
GUI:setTouchEnabled(bjt, true)
GUI:setSwallowTouches(bjt, true)
GUI:setLocalZOrder(bjt, -1) -- 放到最底层
-- 创建npc.bg(放在上层)
npc.bg = GUI:Image_Create(parent, "img_bj", 400, 300, "res/custom/qiangxing_ui/bg.png")
GUI:setAnchorPoint(npc.bg, 0.5, 0.5)
GUI:setTouchEnabled(npc.bg, true)
GUI:setSwallowTouches(npc.bg, true)
GUI:setLocalZOrder(npc.bg, 999) -- 设置高层级
-- 点击事件
GUI:addOnClickEvent(bjt, function()
GUI:Win_Close(parent)
end)
GUI:addOnClickEvent(npc.bg, function()
SL:print("点击了npc背景")
end)
```
如果还是不行,请提供你的完整代码,我帮你检查具体问题。
← 返回问答库