比如说一个礼包用U101记录,U101=0就是没买,U101=1就是买了
礼包按钮如何得到这个变量的值从而是否显示呢
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-16 20:26:21 |
👁️ 阅读: 3
要实现礼包按钮根据U101变量值显示/隐藏,可以使用`SL:GetMetaValue`获取玩家变量值,然后通过`GUI:setVisible`控制按钮显示。
```lua
-- 创建父窗口
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建礼包按钮
local btnGift = GUI:Button_Create(parent, "btn_gift", 100, 100, "res/public/1900000612.png")
GUI:Button_setTitleText(btnGift, "礼包")
-- 获取U101变量值
local u101Value = SL:GetMetaValue("U101", 0) -- 参数1: 变量名, 参数2: 默认值
-- 根据变量值设置按钮可见性
if u101Value == 0 then
-- U101=0 没买,显示按钮
GUI:setVisible(btnGift, true)
elseif u101Value == 1 then
-- U101=1 已买,隐藏按钮
GUI:setVisible(btnGift, false)
end
-- 按钮点击事件
GUI:addOnClickEvent(btnGift, function()
SL:print("礼包按钮被点击")
-- 这里可以添加购买逻辑
end)
```
**代码说明:**
1. **获取变量值**:`SL:GetMetaValue("U101", 0)` 获取玩家变量U101的值,第二个参数是默认值(当变量不存在时返回)
2. **控制显示**:`GUI:setVisible(btnGift, true/false)` 设置按钮的可见性
3. **逻辑判断**:根据U101的值决定显示还是隐藏按钮
**注意:**
- 变量名"U101"需要与后端设置的变量名一致
- 如果变量值还有其他状态(比如2表示已过期),可以扩展判断逻辑
- 按钮创建后需要添加到父节点才能显示
如果需要实时监听变量变化,可以在适当的地方(如界面打开时)重新获取变量值并更新按钮状态。
← 返回问答库