GUI:addOnClickEvent(PlayerSuperEquip._ui.guanbi1, function()
SL:Print("界面4455555555")
local parent = GUI:getParent(PlayerSuperEquip._ui.Image_1)
if parent and not GUI:Win_IsNull(parent) then
GUI:Win_Close(parent)
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-17 15:59:22 |
👁️ 阅读: 7
根据浮生梦老师前端课程内容,这个错误是因为你尝试关闭的窗口对象无效或已为空。
问题出在 `GUI:getParent(PlayerSuperEquip._ui.Image_1)` 获取到的父节点可能不是窗口对象,或者窗口已经关闭了。
正确的做法应该是先检查窗口对象是否存在,然后直接关闭窗口:
```lua
GUI:addOnClickEvent(PlayerSuperEquip._ui.guanbi1, function()
SL:Print("界面4455555555")
-- 直接使用窗口对象,而不是获取父节点
if PlayerSuperEquip._parent and not GUI:Win_IsNull(PlayerSuperEquip._parent) then
GUI:Win_Close(PlayerSuperEquip._parent)
end
end)
```
或者如果你需要获取窗口对象,可以参考其他案例中的做法:
```lua
GUI:addOnClickEvent(PlayerSuperEquip._ui.guanbi1, function()
SL:Print("界面4455555555")
-- 假设 _parent 是窗口对象
local parent = PlayerSuperEquip._parent
if parent and not GUI:Win_IsNull(parent) then
GUI:Win_Close(parent)
end
end)
```
从案例代码中可以看到,关闭窗口的正确方式是:
1. 确保你关闭的是窗口对象本身
2. 使用 `GUI:Win_Close(窗口对象)`
3. 关闭前最好检查窗口是否有效
你的代码中 `GUI:getParent(PlayerSuperEquip._ui.Image_1)` 获取的可能不是窗口对象,所以导致 `GUI:Win_Close` 报错。下次注意检查对象类型,确保关闭的是正确的窗口节点!
根据浮生梦老师前端课程内容,这个错误是因为你尝试关闭的窗口对象无效或已为空。
问题出在 `GUI:getParent(PlayerSuperEquip._ui.Image_1)` 获取到的父节点可能不是窗口对象,或者窗口已经关闭了。
正确的做法应该是先检查窗口对象是否存在,然后直接关闭窗口:
```lua
GUI:addOnClickEvent(PlayerSuperEquip._ui.guanbi1, function()
SL:Print("界面4455555555")
-- 直接使用窗口对象,而不是获取父节点
if PlayerSuperEquip._parent and not GUI:Win_IsNull(PlayerSuperEquip._parent) then
GUI:Win_Close(PlayerSuperEquip._parent)
end
end)
```
或者如果你需要获取窗口对象,可以参考其他案例中的做法:
```lua
GUI:addOnClickEvent(PlayerSuperEquip._ui.guanbi1, function()
SL:Print("界面4455555555")
-- 假设 _parent 是窗口对象
local parent = PlayerSuperEquip._parent
if parent and not GUI:Win_IsNull(parent) then
GUI:Win_Close(parent)
end
end)
```
从案例代码中可以看到,关闭窗口的正确方式是:
1. 确保你关闭的是窗口对象本身
2. 使用 `GUI:Win_Close(窗口对象)`
3. 关闭前最好检查窗口是否有效
你的代码中 `GUI:getParent(PlayerSuperEquip._ui.Image_1)` 获取的可能不是窗口对象,所以导致 `GUI:Win_Close` 报错。下次注意检查对象类型,确保关闭的是正确的窗口节点!
← 返回问答库