local qingxukezhan = {}
function qingxukezhan.main(param1, param2, param3, param4)
lib:Require(param1, function(state)
if state then
if param1 then
qingxukezhan.parent = lib:openwin(param1, nil, true, param4) o
根据浮生梦老师前端课程内容,我来帮你实现进度条与变量的关联逻辑。你需要根据变量值(0-500)来设置进度条的百分比。这里使用`GUI:LoadingBar_setPercent`函数来控制进度条显示。
```lua
-- 在qingxukezhan.upmain()函数中添加进度条设置逻辑
function qingxukezhan.upmain()
if not qingxukezhan.parent or not qingxukezhan.parent._ui then
return
end
local var1 = tonumber(lib:getstr("U37") or 0)
SL:Print("获取当前U37值 var1 =", var1)
local var2 = tonumber(lib:getstr("U38") or 0)
SL:Print("获取当前U38值 var2 =", var2)
local var3 = tonumber(lib:getstr("U39") or 0)
SL:Print("获取当前U39值 var3 =", var3)
local var4 = tonumber(lib:getstr("U40") or 0)
SL:Print("获取当前U40值 var4 =", var4)
local var5 = tonumber(lib:getstr("U41") or 0)
SL:Print("获取当前U41值 var5 =", var5)
local var6 = tonumber(lib:getstr("U42") or 0)
SL:Print("获取当前U42值 var6 =", var6)
local ui = qingxukezhan.parent._ui
-- 计算进度条百分比(变量越大,进度越少)
-- 公式:百分比 = (500 - 变量值) / 500 * 100
-- 如果变量为500,进度条清空(0%)
-- 如果变量为0,进度条满(100%)
-- U37对应LoadingBar_1和LoadingBar_12
if GUI:Win_IsNotNull(ui["LoadingBar_1"]) then
local percent1 = (500 - var1) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_1"], percent1)
end
if GUI:Win_IsNotNull(ui["LoadingBar_12"]) then
local percent12 = (500 - var1) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_12"], percent12)
end
-- U38对应LoadingBar_2和LoadingBar_11
if GUI:Win_IsNotNull(ui["LoadingBar_2"]) then
local percent2 = (500 - var2) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_2"], percent2)
end
if GUI:Win_IsNotNull(ui["LoadingBar_11"]) then
local percent11 = (500 - var2) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_11"], percent11)
end
-- U39对应LoadingBar_3和LoadingBar_10
if GUI:Win_IsNotNull(ui["LoadingBar_3"]) then
local percent3 = (500 - var3) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_3"], percent3)
end
if GUI:Win_IsNotNull(ui["LoadingBar_10"]) then
local percent10 = (500 - var3) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_10"], percent10)
end
-- U40对应LoadingBar_4和LoadingBar_9
if GUI:Win_IsNotNull(ui["LoadingBar_4"]) then
local percent4 = (500 - var4) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_4"], percent4)
end
if GUI:Win_IsNotNull(ui["LoadingBar_9"]) then
local percent9 = (500 - var4) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_9"], percent9)
end
-- U41对应LoadingBar_5和LoadingBar_8
if GUI:Win_IsNotNull(ui["LoadingBar_5"]) then
local percent5 = (500 - var5) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_5"], percent5)
end
if GUI:Win_IsNotNull(ui["LoadingBar_8"]) then
local percent8 = (500 - var5) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_8"], percent8)
end
-- U42对应LoadingBar_6和LoadingBar_7
if GUI:Win_IsNotNull(ui["LoadingBar_6"]) then
local percent6 = (500 - var6) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_6"], percent6)
end
if GUI:Win_IsNotNull(ui["LoadingBar_7"]) then
local percent7 = (500 - var6) / 500 * 100
GUI:LoadingBar_setPercent(ui["LoadingBar_7"], percent7)
end
-- 原有的按钮点击事件代码保持不变
if GUI:Win_IsNotNull(ui["Button_1"]) then
GUI:addOnClickEvent(ui["Button_1"], function()
SL:print("点击解忧1按钮")
GUI:delayTouchEnabled(ui["Button_1"], 0.2)
SL:print("点击解忧1升级按钮")
local msg = {}
msg.Script = qingxukezhan.param1
local jsonstr = SL:JsonEncode(msg)
SL:SendLuaNetMsg(58003, qingxukezhan.param2, 0, 0, jsonstr)
end)
end
-- ... 其他按钮代码保持不变
end
```
**函数说明:**
- `GUI:LoadingBar_setPercent(widget, percent)`:设置进度条的百分比
- `widget`:进度条控件对象
- `percent`:百分比值(0-100)
**逻辑说明:**
1. 变量值范围是0-500,当变量为0时进度条满(100%)
2. 当变量为500时进度条空(0%)
3. 变量值越大,进度条越少
4. 每个变量对应两个进度条,设置相同的百分比
**注意:** 确保你的UI界面中确实有`LoadingBar_1`到`LoadingBar_12`这些控件名称,否则需要根据实际控件名称调整代码。