local d = {
['圣灵'] = '05',
['玄暝'] = '05',
['瑶光'] = '05',
['破界'] = '05',
['幻界'] = '05',
['灵界'] = '05',
['血狱'] = '05',
['冰狱'] = '05',
['魂狱'] = '05',
['断虹'] = '05',
['雷鸣'] = '05',
['清玄'] = '05',
['
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-15 17:11:09 |
👁️ 阅读: 9
看了你的代码,有几个地方需要注意:
1. **组件创建时机问题**:`ListBg` 这个父节点可能还没创建或者为空
2. **坐标位置问题**:你把帧动画的坐标都设为 (0,0),可能被其他控件遮挡
3. **显示状态问题**:创建后立即设置为不可见 `GUI:setVisible(frames, false)`
先检查父节点是否存在:
```lua
if GUI:Win_IsNull(ListBg) then
SL:print("ListBg 父节点为空,无法创建帧动画")
return
end
```
另外,确保在创建父节点后再创建子控件。按照浮生梦老师前端课程内容,创建界面的正确顺序应该是:
```lua
-- 先创建主界面
local parent = GUI:Win_Create("MainWin", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 再创建 ListBg
local ListBg = GUI:Layout_Create(parent, "ListBg", 100, 100, 200, 200, false)
-- 然后在合适的时机创建帧动画
for k, v in pairs(d) do
if string.find(itemData.Name, k) then
SL:print(itemData.Name, k, d[k])
local ext = {
count = 20,
speed = 100,
loop = -1,
finishhide = 1,
}
local frames = GUI:Frames_Create(ListBg, "frames", 50, 50, d[k], ".png", 1, 20, ext)
-- 先设置为可见
GUI:setVisible(frames, true)
GUI:setLocalZOrder(frames, 0)
break
end
end
```
建议先检查 `ListBg` 是否为空,然后给帧动画设置一个合适的坐标(不要都是0,0),创建后先设为可见看看效果。
如果还是不行,可能是 `itemData.Name` 不匹配或者资源路径有问题,建议打印一下匹配到的内容检查一下。
← 返回问答库