local n = 0
for i = 1, 3 do
local pageCfg = self._cfg[i]
local rewardStr = pageCfg.reward or ""
local rewardParts = string.split(rewardStr, "&")
for k,v in ipairs(rewardParts)do
local idStr, numStr =
根据浮生梦老师前端课程内容,你代码中报错的主要原因是使用了错误的函数名。`GUI:ItemShow_updateItem()` 这个函数在996引擎中不存在。
正确的函数应该是 `GUI:ItemShow_update()`,用于更新ItemShow控件的显示内容。
修改后的代码:
```lua
local n = 0
for i = 1, 3 do
local pageCfg = self._cfg[i]
local rewardStr = pageCfg.reward or ""
local rewardParts = string.split(rewardStr, "&")
for k, v in ipairs(rewardParts) do
local idStr, numStr = string.match(v, "(%d+)#(%d+)")
n = n + 1
local s = "ui.ItemShow_" .. n
-- 使用正确的函数名
GUI:ItemShow_update(s, {
index = idStr,
count = numStr,
look = true,
bgVisible = true,
color = 255
})
SL:Print(idStr)
end
end
```
主要修改:
1. `GUI:ItemShow_updateItem()` → `GUI:ItemShow_update()`
2. `print()` → `SL:Print()`(使用引擎标准打印函数)
另外要注意:
- 确保 `ui` 对象已经正确初始化
- 确保 `self._cfg` 表存在且结构正确
- `ItemShow_` 控件需要在UI布局文件中预先创建
下次遇到这种问题,可以先检查函数名是否正确,或者查看相关控件的文档说明。