local CangJian = {}
function CangJian:main()
SL:Print("CangJian来了")
GUI:Win_CloseAll()
local win = GUI:Win_Create("Win_1", 0, 0, 0, 0, false, false, true, false, false, false, 1)
GUI:LoadExport(win, "CJ_UI")
local ui = GUI:ui_dele
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-27 10:46:32 |
👁️ 阅读: 2
```lua
local CangJian = {}
function CangJian:main()
SL:Print("CangJian来了")
GUI:Win_CloseAll()
local win = GUI:Win_Create("Win_1", 0, 0, 0, 0, false, false, true, false, false, false, 1)
GUI:LoadExport(win, "CJ_UI")
local ui = GUI:ui_delegate(win)
-- 获取关闭按钮(假设UI中有一个名为"btn_close"的按钮)
local btn_close = GUI:getChildByName(win, "btn_close")
if not GUI:Win_IsNull(btn_close) then
GUI:addOnClickEvent(btn_close, function()
GUI:Win_Close(win)
end)
end
local x = SL:GetMetaValue("SCREEN_WIDTH")/2
local y = SL:GetMetaValue("SCREEN_HEIGHT")/2
GUI:setPosition(ui.Node_1, x, y)
local obl = ui.Image_2
-- 获取当前坐标
local currentPos = GUI:getPosition(obl)
if currentPos then
-- 创建向上移动的动作
local moveAction = GUI:ActionMoveTo(0.5, currentPos.x, currentPos.y + 60)
GUI:runAction(obl, moveAction)
end
GUI:Win_SetPos(win, x, y)
end
return CangJian
```
**修改说明:**
1. 使用 `GUI:getChildByName(win, "btn_close")` 获取UI中的关闭按钮
2. 使用 `GUI:Win_IsNull()` 判断按钮是否存在
3. 使用 `GUI:addOnClickEvent()` 为按钮添加点击事件
4. 在点击事件中使用 `GUI:Win_Close(win)` 关闭窗口
**注意事项:**
- 确保你的UI导出文件中有一个名为"btn_close"的按钮控件
- 如果按钮名称不同,请修改 `getChildByName` 中的第二个参数
- 按钮点击后窗口会完全关闭,如果需要其他关闭逻辑可以修改回调函数
← 返回问答库