local root = GUI:bg('win')
GUI:jiazaiui(root,212)
local ui = GUI:getui(root)
GUI:chumo(ui.Image_1,true)
GUI:youjiantunshi(root,true)
GUI:tuozhuai(root,ui.Image_1)
for i = 1 , 5 do
GUI:addOnClickEvent(ui["Button_"..i],function()
GUI:removeChildByNa
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-22 13:21:28 |
👁️ 阅读: 4
你的代码有几个问题需要修正:
**1. 函数名错误** - 996引擎中没有你使用的这些函数名:
```lua
-- 错误写法:
local root = GUI:bg('win') -- 不存在
GUI:jiazaiui(root,212) -- 不存在
local ui = GUI:getui(root) -- 不存在
GUI:chumo(ui.Image_1,true) -- 不存在
GUI:youjiantunshi(root,true) -- 不存在
GUI:tuozhuai(root,ui.Image_1) -- 不存在
-- 正确写法:
local root = GUI:Win_Create("win", 0, 0, 1136, 640, false, false, true, false, false, false, 1)
-- 加载UI需要调用对应的UI加载函数
-- 设置触摸:GUI:setTouchEnabled(widget, value)
-- 右键吞噬:GUI:setSwallowTouches(widget, value)
-- 拖拽功能需要自己实现
```
**2. 循环中的点击事件问题**:
```lua
for i = 1 , 5 do
GUI:addOnClickEvent(ui["Button_"..i], function()
GUI:removeChildByName(root, ui.Image_1) -- 这里会报错
end)
end
```
**3. 修复后的代码示例**:
```lua
-- 创建窗口
local root = GUI:Win_Create("win", 0, 0, 1136, 640, false, false, true, false, false, false, 1)
-- 假设通过其他方式加载了UI,获取UI控件
-- 这里需要先创建Image_1控件
local Image_1 = GUI:Image_Create(root, "Image_1", 100, 100, "res/public_win32/1900000610.png")
-- 设置触摸
GUI:setTouchEnabled(Image_1, true)
-- 设置右键吞噬
GUI:setSwallowTouches(root, true)
-- 创建5个按钮
for i = 1, 5 do
local btn = GUI:Button_Create(root, "Button_"..i, 200 + i*80, 300, "res/public_win32/1900000612.png")
GUI:Button_setTitleText(btn, "按钮"..i)
GUI:addOnClickEvent(btn, function()
-- 删除前先判断控件是否存在
if not GUI:Win_IsNull(Image_1) then
GUI:removeChildByName(root, "Image_1")
SL:print("删除了Image_1控件")
end
end)
end
-- 最后删除一次(如果还存在的话)
if not GUI:Win_IsNull(Image_1) then
GUI:removeChildByName(root, "Image_1")
end
```
**主要错误原因**:
1. 使用了不存在的函数名
2. 没有先创建`Image_1`控件就直接引用
3. 没有判断控件是否为空就删除
**建议**:
- 使用正确的996引擎函数名
- 创建控件后再引用
- 删除前用`GUI:Win_IsNull()`判断控件是否存在
- 拖拽功能需要自己监听触摸事件实现
不懂的可以问浮生梦老师!
你的代码有几个问题需要修正:
**1. 函数名错误** - 996引擎中没有你使用的这些函数名:
```lua
-- 错误写法:
local root = GUI:bg('win') -- 不存在
GUI:jiazaiui(root,212) -- 不存在
local ui = GUI:getui(root) -- 不存在
GUI:chumo(ui.Image_1,true) -- 不存在
GUI:youjiantunshi(root,true) -- 不存在
GUI:tuozhuai(root,ui.Image_1) -- 不存在
-- 正确写法:
local root = GUI:Win_Create("win", 0, 0, 1136, 640, false, false, true, false, false, false, 1)
-- 加载UI需要调用对应的UI加载函数
-- 设置触摸:GUI:setTouchEnabled(widget, value)
-- 右键吞噬:GUI:setSwallowTouches(widget, value)
-- 拖拽功能需要自己实现
```
**2. 循环中的点击事件问题**:
```lua
for i = 1 , 5 do
GUI:addOnClickEvent(ui["Button_"..i], function()
GUI:removeChildByName(root, ui.Image_1) -- 这里会报错
end)
end
```
**3. 修复后的代码示例**:
```lua
-- 创建窗口
local root = GUI:Win_Create("win", 0, 0, 1136, 640, false, false, true, false, false, false, 1)
-- 假设通过其他方式加载了UI,获取UI控件
-- 这里需要先创建Image_1控件
local Image_1 = GUI:Image_Create(root, "Image_1", 100, 100, "res/public_win32/1900000610.png")
-- 设置触摸
GUI:setTouchEnabled(Image_1, true)
-- 设置右键吞噬
GUI:setSwallowTouches(root, true)
-- 创建5个按钮
for i = 1, 5 do
local btn = GUI:Button_Create(root, "Button_"..i, 200 + i*80, 300, "res/public_win32/1900000612.png")
GUI:Button_setTitleText(btn, "按钮"..i)
GUI:addOnClickEvent(btn, function()
-- 删除前先判断控件是否存在
if not GUI:Win_IsNull(Image_1) then
GUI:removeChildByName(root, "Image_1")
SL:print("删除了Image_1控件")
end
end)
end
-- 最后删除一次(如果还存在的话)
if not GUI:Win_IsNull(Image_1) then
GUI:removeChildByName(root, "Image_1")
end
```
**主要错误原因**:
1. 使用了不存在的函数名
2. 没有先创建`Image_1`控件就直接引用
3. 没有判断控件是否为空就删除
**建议**:
- 使用正确的996引擎函数名
- 创建控件后再引用
- 删除前用`GUI:Win_IsNull()`判断控件是否存在
- 拖拽功能需要自己监听触摸事件实现
不懂的可以问浮生梦老师!
← 返回问答库