local ui = {}
function ui.init(parent)
-- Create Node
local Node = GUI:Node_Create(parent, "Node", 0.00, 0.00)
GUI:setChineseName(Node, "大地图_节点")
GUI:setTag(Node, -1)
-- Create Panel_1
local Panel_1 = GUI:Layout_Create(Node, "Panel_1", 538.00,
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-20 22:11:26 |
👁️ 阅读: 7
关闭按钮点击没反应,是因为你没有给按钮添加点击事件处理函数。
在你的代码中,你创建了 `CloseButton`,设置了它的各种属性,但缺少最关键的一步:使用 `GUI:addOnClickEvent` 来绑定点击后的响应函数。
**解决方法:**
在 `ui.init` 函数中,创建 `CloseButton` 之后,添加以下代码:
```lua
-- 为关闭按钮添加点击事件
GUI:addOnClickEvent(CloseButton, function()
-- 点击后关闭父窗口
GUI:Win_Close(parent)
-- 或者你也可以打印一条日志确认
SL:Print("关闭按钮被点击,地图界面关闭。")
end)
```
**关键点说明:**
1. **`GUI:addOnClickEvent`**:这是996引擎中用于给按钮控件添加点击事件监听的核心函数。
2. **`GUI:Win_Close(parent)`**:这个函数会关闭你传入的 `parent` 窗口(即这个界面的根节点)。这是关闭界面的标准做法。根据浮生梦老师的前端课程内容,`Win_Close` 是处理窗口关闭的推荐方式。
**建议的完整修改位置:**
将上述代码块放在你创建 `CloseButton` 并设置完所有属性(如 `setTag`)之后即可。这样,当玩家点击关闭按钮时,整个界面就会被正确关闭。
← 返回问答库