function script:init()
--* 可以伸缩的按钮
--创建基础容器
local layout_you = GUI:Layout_Create(-1, "Layout_shensuo", 0, 0, 240, 240, false)
--设置锚点
GUI:setAnchorPoint(layout_you, 0, 0)
--创建按钮对象
for key, value in pairs(self.config.btnhidn) do
loca
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-20 11:33:13 |
👁️ 阅读: 6
根据浮生梦老师前端课程内容,你的代码有几个需要注意的地方:
1. **容器创建问题**:直接使用`-1`作为父节点创建容器,可能导致层级混乱。建议先创建父节点:
```lua
function script:init()
-- 先创建父窗口
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
--* 可以伸缩的按钮
-- 创建基础容器(挂接到父窗口)
local layout_you = GUI:Layout_Create(parent, "Layout_shensuo", 0, 0, 240, 240, false)
GUI:setAnchorPoint(layout_you, 0, 0)
-- 创建按钮对象
for key, value in pairs(self.config.btnhidn) do
local btn_play_info = GUI:Button_Create(layout_you, "btn_shensuo" .. key, value.x, value.y,
"res/Top/youbian/" .. value.imgid)
GUI:setAnchorPoint(btn_play_info, 0, 1)
GUI:addOnClickEvent(btn_play_info, function()
SL:Print("点击了人物角色")
SL:JumpTo(value.jumpid)
end)
end
-- 注意:SL:AttachOrUnAttachGUI可能需要调整参数,确保传入正确的界面对象
SL:AttachOrUnAttachGUI({ index = 109, subid = 1, content = layout_you })
--* 不动的按钮
-- 创建第二个容器(同样挂接到父窗口)
local layout_you2 = GUI:Layout_Create(parent, "Layout_budon", 0, 0, 250, 70, false)
GUI:setAnchorPoint(layout_you2, 1, 0)
-- 创建按钮对象
for key, value in pairs(self.config.btnfix) do
local btn_play_info = GUI:Button_Create(layout_you2, "btn_budon" .. key, value.x, value.y,
"res/Top/youbian/" .. value.imgid)
GUI:setAnchorPoint(btn_play_info, 0, 1)
GUI:addOnClickEvent(btn_play_info, function()
SL:Print("点击了人物角色")
SL:JumpTo(value.jumpid)
end)
end
SL:AttachOrUnAttachGUI({ index = 102, subid = 2, content = layout_you2 })
end
return script
```
2. **变量名重复**:你使用了两次`layout_you`变量名,这在同一个作用域中会导致覆盖问题,建议使用不同的变量名。
3. **图片路径检查**:确保`res/Top/youbian/`目录下存在对应的图片文件。
4. **配置表检查**:确保`self.config.btnhidn`和`self.config.btnfix`是有效的table,且包含`x`、`y`、`imgid`、`jumpid`等字段。
如果有其他具体问题,可以继续提问!
根据浮生梦老师前端课程内容,你的代码有几个需要注意的地方:
1. **容器创建问题**:直接使用`-1`作为父节点创建容器,可能导致层级混乱。建议先创建父节点:
```lua
function script:init()
-- 先创建父窗口
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
--* 可以伸缩的按钮
-- 创建基础容器(挂接到父窗口)
local layout_you = GUI:Layout_Create(parent, "Layout_shensuo", 0, 0, 240, 240, false)
GUI:setAnchorPoint(layout_you, 0, 0)
-- 创建按钮对象
for key, value in pairs(self.config.btnhidn) do
local btn_play_info = GUI:Button_Create(layout_you, "btn_shensuo" .. key, value.x, value.y,
"res/Top/youbian/" .. value.imgid)
GUI:setAnchorPoint(btn_play_info, 0, 1)
GUI:addOnClickEvent(btn_play_info, function()
SL:Print("点击了人物角色")
SL:JumpTo(value.jumpid)
end)
end
-- 注意:SL:AttachOrUnAttachGUI可能需要调整参数,确保传入正确的界面对象
SL:AttachOrUnAttachGUI({ index = 109, subid = 1, content = layout_you })
--* 不动的按钮
-- 创建第二个容器(同样挂接到父窗口)
local layout_you2 = GUI:Layout_Create(parent, "Layout_budon", 0, 0, 250, 70, false)
GUI:setAnchorPoint(layout_you2, 1, 0)
-- 创建按钮对象
for key, value in pairs(self.config.btnfix) do
local btn_play_info = GUI:Button_Create(layout_you2, "btn_budon" .. key, value.x, value.y,
"res/Top/youbian/" .. value.imgid)
GUI:setAnchorPoint(btn_play_info, 0, 1)
GUI:addOnClickEvent(btn_play_info, function()
SL:Print("点击了人物角色")
SL:JumpTo(value.jumpid)
end)
end
SL:AttachOrUnAttachGUI({ index = 102, subid = 2, content = layout_you2 })
end
return script
```
2. **变量名重复**:你使用了两次`layout_you`变量名,这在同一个作用域中会导致覆盖问题,建议使用不同的变量名。
3. **图片路径检查**:确保`res/Top/youbian/`目录下存在对应的图片文件。
4. **配置表检查**:确保`self.config.btnhidn`和`self.config.btnfix`是有效的table,且包含`x`、`y`、`imgid`、`jumpid`等字段。
如果有其他具体问题,可以继续提问!
← 返回问答库