local xulie = ''
for k , v in pairs(d) do
if string.find(itemData.Name,k) then
xulie = 'res/xixi/xuliezhen/08/'
local ext = {
count = 20,
speed = 100,
loop = -1,
finishhide = 1,
}
local fram
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-15 17:28:45 |
👁️ 阅读: 9
观察你的代码,主要区别在于 **资源路径** 的构建方式。
上面的代码中:
```lua
xulie = 'res/xixi/xuliezhen/08/'
```
这个路径末尾已经带斜杠 `/`,而你在 `Frames_Create` 里拼接后缀 `.png` 时,会变成:
```
res/xixi/xuliezhen/08/.png
```
显然缺少图片文件名前缀(如 `1.png` 的 `1`)。
**Frames_Create 的 prefix 参数**应该是类似 `"res/xixi/xuliezhen/08/"` 这样的文件夹路径,但 **它期望的是每张图片的基础路径**,比如:
```
res/xixi/xuliezhen/08/1.png
res/xixi/xuliezhen/08/2.png
...
```
如果 `prefix` 是 `"res/xixi/xuliezhen/08/"`,`suffix` 是 `".png"`,那么实际图片路径应该是:
```
prefix .. 帧号 .. suffix
```
例如第 1 帧:`"res/xixi/xuliezhen/08/1.png"`。
你的下面代码直接写死 `'res/xixi/xuliezhen/08/'` 作为 prefix,看似和上面一样,但**可能**你的 `itemData.Name` 匹配后,上面的 `xulie` 末尾多了一个空格或换行符,导致路径错误。
**建议检查**:
1. 打印 `xulie` 的长度和内容,看是否和下面硬编码的字符串完全一致。
2. 确保 `string.find` 匹配成功后,`xulie` 赋值没有多余字符。
可以这样调试:
```lua
local xulie = ''
for k, v in pairs(d) do
if string.find(itemData.Name, k) then
xulie = 'res/xixi/xuliezhen/08/'
SL:Print("xulie 长度:", #xulie)
SL:Print("xulie 内容: [" .. xulie .. "]")
local ext = {
count = 20,
speed = 100,
loop = -1,
finishhide = 1,
}
local frames = GUI:Frames_Create(ListBg, "frames", 0, 0, xulie, ".png", 1, 20, ext)
GUI:setVisible(frames, false)
GUI:setLocalZOrder(frames, 0)
break
end
end
```
观察你的代码,主要区别在于 **资源路径** 的构建方式。
上面的代码中:
```lua
xulie = 'res/xixi/xuliezhen/08/'
```
这个路径末尾已经带斜杠 `/`,而你在 `Frames_Create` 里拼接后缀 `.png` 时,会变成:
```
res/xixi/xuliezhen/08/.png
```
显然缺少图片文件名前缀(如 `1.png` 的 `1`)。
**Frames_Create 的 prefix 参数**应该是类似 `"res/xixi/xuliezhen/08/"` 这样的文件夹路径,但 **它期望的是每张图片的基础路径**,比如:
```
res/xixi/xuliezhen/08/1.png
res/xixi/xuliezhen/08/2.png
...
```
如果 `prefix` 是 `"res/xixi/xuliezhen/08/"`,`suffix` 是 `".png"`,那么实际图片路径应该是:
```
prefix .. 帧号 .. suffix
```
例如第 1 帧:`"res/xixi/xuliezhen/08/1.png"`。
你的下面代码直接写死 `'res/xixi/xuliezhen/08/'` 作为 prefix,看似和上面一样,但**可能**你的 `itemData.Name` 匹配后,上面的 `xulie` 末尾多了一个空格或换行符,导致路径错误。
**建议检查**:
1. 打印 `xulie` 的长度和内容,看是否和下面硬编码的字符串完全一致。
2. 确保 `string.find` 匹配成功后,`xulie` 赋值没有多余字符。
可以这样调试:
```lua
local xulie = ''
for k, v in pairs(d) do
if string.find(itemData.Name, k) then
xulie = 'res/xixi/xuliezhen/08/'
SL:Print("xulie 长度:", #xulie)
SL:Print("xulie 内容: [" .. xulie .. "]")
local ext = {
count = 20,
speed = 100,
loop = -1,
finishhide = 1,
}
local frames = GUI:Frames_Create(ListBg, "frames", 0, 0, xulie, ".png", 1, 20, ext)
GUI:setVisible(frames, false)
GUI:setLocalZOrder(frames, 0)
break
end
end
```
← 返回问答库