点击一个按钮后按钮文字颜色变成绿色 要怎么记录他 下次点击进来就是绿色
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-21 19:02:30 |
👁️ 阅读: 4
要实现点击按钮后文字变色并保存状态,下次进入界面时保持绿色,可以使用SL:SetMetaValue()和SL:GetMetaValue()来存储和读取状态。
```lua
-- 创建按钮
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
local button = GUI:Button_Create(parent, "btn_test", 100, 100, "res/public/1900000612.png")
GUI:Button_setTitleText(button, "测试按钮")
-- 初始化时读取状态
local savedState = SL:GetMetaValue("BUTTON_STATE", "btn_test")
if savedState == "green" then
GUI:Button_setTitleColor(button, "#00FF00") -- 绿色
else
GUI:Button_setTitleColor(button, "#FFFFFF") -- 默认白色
end
-- 点击事件
GUI:addOnClickEvent(button, function()
-- 切换颜色
local currentColor = SL:GetMetaValue("BUTTON_STATE", "btn_test")
if currentColor == "green" then
GUI:Button_setTitleColor(button, "#FFFFFF")
SL:SetMetaValue("BUTTON_STATE", "btn_test", "white")
else
GUI:Button_setTitleColor(button, "#00FF00")
SL:SetMetaValue("BUTTON_STATE", "btn_test", "green")
end
SL:PlayBtnClickAudio() -- 播放点击音效
end)
```
**关键点:**
1. `SL:SetMetaValue("BUTTON_STATE", "btn_test", "green")` - 保存状态
2. `SL:GetMetaValue("BUTTON_STATE", "btn_test")` - 读取状态
3. 每次界面打开时根据保存的状态设置颜色
这样就能记住按钮的点击状态,下次进入时自动恢复绿色了。
← 返回问答库