隐藏控件是哪个
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-07-14 09:28:13 |
👁️ 阅读: 16
隐藏控件可以使用 `GUI:setVisible()` 函数来实现。
**函数说明:**
```lua
-- 设置控件可见性
GUI:setVisible(widget, value)
```
**参数说明:**
- `widget`:控件对象(必填)
- `value`:布尔值,true表示显示,false表示隐藏
**使用示例:**
```lua
-- 创建一个窗口
local window = GUI:Win_Create("TestWindow", 100, 100, 300, 200, false, false, false, false, false, false, 1)
-- 隐藏窗口
GUI:setVisible(window, false)
-- 显示窗口
GUI:setVisible(window, true)
```
**获取控件是否隐藏:**
```lua
-- 判断控件是否显示
local isVisible = GUI:getVisible(window)
if isVisible then
SL:Print("控件当前是显示的")
else
SL:Print("控件当前是隐藏的")
end
```
**注意事项:**
1. 隐藏控件后,控件将不再响应任何触摸和鼠标事件
2. 隐藏的控件仍然存在于场景中,只是不可见
3. 如果需要彻底移除控件,应该使用 `GUI:removeFromParent(widget)`
**完整示例:**
```lua
-- 创建一个可隐藏的按钮
local parent = GUI:Win_Create("MainWindow", 0, 0, 800, 600, false, false, true, false, false, false, 1)
local button = GUI:Button_Create(parent, "btn_hide", 100, 100, "res/public/1900000612.png")
GUI:Button_setTitleText(button, "点击隐藏")
-- 点击按钮后隐藏自己
GUI:addOnClickEvent(button, function()
GUI:setVisible(button, false)
SL:Print("按钮被隐藏了")
-- 3秒后自动显示
SL:ScheduleOnce(function()
GUI:setVisible(button, true)
SL:Print("按钮重新显示")
end, 3)
end)
```
这个函数是控制控件显示/隐藏最常用的方法,在游戏界面切换、条件显示等场景中都会用到。
← 返回问答库