SL:print("进入NPC")
local config = {
["初级地图"] = {
[1] = {name = "蜈蚣洞1层",map = 0 , money = 10},
[2] = {name = "蜈蚣洞2层",map = 1 , money = 20},
[3] = {name = "蜈蚣洞3层",map = 2 , money = 30},
[4] = {name = "蜈蚣洞4层",map = 3 , money = 40},
[5] = {
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-24 10:46:36 |
👁️ 阅读: 2
你的代码有几个问题需要修正:
```lua
SL:print("进入NPC")
local config = {
["初级地图"] = {
[1] = {name = "蜈蚣洞1层", map = 0, money = 10},
[2] = {name = "蜈蚣洞2层", map = 1, money = 20},
[3] = {name = "蜈蚣洞3层", map = 2, money = 30},
[4] = {name = "蜈蚣洞4层", map = 3, money = 40},
[5] = {name = "蜈蚣洞5层", map = 4, money = 50},
[6] = {name = "蜈蚣洞6层", map = 5, money = 60}
},
["中级地图"] = {
[1] = {name = "石墓1层", map = 7, money = 10},
[2] = {name = "石墓2层", map = 8, money = 20},
[3] = {name = "石墓3层", map = 9, money = 30},
[4] = {name = "石墓4层", map = 10, money = 40},
[5] = {name = "石墓5层", map = 11, money = 50},
[6] = {name = "石墓6层", map = 12, money = 60}
},
["高级地图"] = {
[1] = {name = "祖玛1层", map = 13, money = 10},
[2] = {name = "祖玛2层", map = 14, money = 20},
[3] = {name = "祖玛3层", map = 15, money = 30},
[4] = {name = "祖玛4层", map = 16, money = 40},
[5] = {name = "祖玛5层", map = 17, money = 50},
[6] = {name = "祖玛6层", map = 18, money = 60}
}
}
local kuan = SL:GetMetaValue("SCREEN_WIDTH")
local gao = SL:GetMetaValue("SCREEN_HEIGHT")
local root = GUI:Win_Create("win", kuan/2, gao/2, 0, 0, false, false, true, false, false, false, 1)
GUI:LoadExport(root, "32") -- 这里应该是字符串路径
-- 获取UI代理
local ui = GUI:ui_delegate(root)
-- 先获取ListView控件
local listView = GUI:getChildByName(root, "ListView_1") -- 根据实际UI中的控件名
if not GUI:Win_IsNull(listView) then
for i = 1, #config["初级地图"] do
-- 1. 先获取模板控件
local template = GUI:getChildByName(root, "rbt1") -- 假设rbt1是模板控件名
if not GUI:Win_IsNull(template) then
-- 2. 克隆模板
local item = GUI:Clone(template)
-- 3. 设置克隆出来的控件属性
local data = config["初级地图"][i]
local textName = GUI:getChildByName(item, "Text_name") -- 假设有显示名字的文本控件
if not GUI:Win_IsNull(textName) then
GUI:Text_setString(textName, data.name)
end
-- 4. 添加到ListView
GUI:ListView_pushBackCustomItem(listView, item)
end
end
else
SL:print("ListView_1控件不存在或为空")
end
```
**主要问题:**
1. **GUI:Win_Create参数不完整** - 需要提供完整的参数列表
2. **GUI:LoadExport路径错误** - 第二个参数应该是字符串路径
3. **GUI:Clone参数错误** - 需要先获取模板控件,再克隆
4. **ListView操作前未获取控件** - 需要先获取ListView控件对象
5. **缺少控件判断** - 应该使用GUI:Win_IsNull判断控件是否为空
**建议:**
- 检查UI导出文件,确保"rbt1"和"ListView_1"控件名正确
- 克隆后记得设置克隆出来的控件属性
- 每次操作前都判断控件是否为空
不懂的地方可以问浮生梦老师,这些都是前端开发的基本功!
← 返回问答库