你的代码逻辑是典型的根据变量范围显示不同控件组。可以用更简洁的方式优化:
```lua
-- 先定义所有控件组
local wanchengGroups = {
ui.wancheng,
ui.wancheng1,
ui.wancheng2,
ui.wancheng3,
ui.wancheng4
}
local imageGroups = {
ui.Image_4,
ui.Image_5,
ui.Image_6,
ui.Image_7,
ui.Image_8
}
-- 计算索引(1-5对应你的条件)
local index = math.floor(var)
if index < 1 then index = 1 end
if index > 5 then index = 5 end
-- 批量设置可见性
for i = 1, 5 do
GUI:setVisible(wanchengGroups[i], i == index)
GUI:setVisible(imageGroups[i], i == index)
end
```
**优化说明:**
1. **数组化管理**:把相关控件分组,便于批量操作
2. **索引计算**:用`math.floor(var)`直接得到1-5的索引
3. **循环设置**:避免重复写`setVisible`,代码更简洁
**注意:**
- 当`var`在1-5之间时,显示对应组的控件
- `var<1`时显示第一组,`var>=5`时显示最后一组
- 如果`var`可能是小数,这个逻辑更精确
这样修改后,代码从50多行减少到20行,逻辑更清晰,也便于后续维护扩展!