有5个按钮 点击哪个 哪个按钮文字变成绿色 其他按钮变成黑色
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-23 17:06:36 |
👁️ 阅读: 1
```lua
-- 创建父节点
local parent = GUI:Win_Create("ButtonGroup", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 存储按钮的table
local buttons = {}
-- 创建5个按钮
for i = 1, 5 do
local btn = GUI:Button_Create(parent, "btn_"..i, 50, 50 + i*60, "res/public/1900000612.png")
GUI:Button_setTitleText(btn, "按钮"..i)
GUI:Button_setTitleFontSize(btn, 16)
GUI:Button_setTitleColor(btn, "#000000") -- 初始黑色
-- 存储按钮引用
buttons[i] = btn
-- 添加点击事件
GUI:addOnClickEvent(btn, function()
-- 重置所有按钮为黑色
for j = 1, 5 do
if buttons[j] and not GUI:Win_IsNull(buttons[j]) then
GUI:Button_setTitleColor(buttons[j], "#000000")
end
end
-- 设置当前按钮为绿色
GUI:Button_setTitleColor(btn, "#00FF00")
SL:Print("按钮"..i.."被点击,颜色变为绿色")
end)
end
-- 初始化第一个按钮为绿色
if buttons[1] and not GUI:Win_IsNull(buttons[1]) then
GUI:Button_setTitleColor(buttons[1], "#00FF00")
end
```
**说明:**
1. 创建5个按钮并存储到`buttons`表中
2. 每个按钮点击时,先重置所有按钮为黑色
3. 然后将当前点击的按钮设置为绿色
4. 使用`GUI:Button_setTitleColor()`设置按钮文字颜色
**关键点:**
- `"#000000"` 是黑色
- `"#00FF00"` 是绿色
- 通过遍历按钮表来批量修改颜色
- 使用`GUI:Win_IsNull()`检查按钮是否有效
← 返回问答库