帮我写一个创建图片前删除旧图片的代码
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-15 23:30:52 |
👁️ 阅读: 9
在996引擎中创建新图片前删除旧图片,可以这样写:
```lua
-- 先创建父节点(如果不存在)
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 定义图片ID
local imageID = "my_image"
-- 尝试获取旧图片
local oldImage = GUI:getChildByName(parent, imageID)
-- 如果旧图片存在,则移除
if oldImage and not GUI:Win_IsNull(oldImage) then
GUI:removeFromParent(oldImage)
SL:Print("已删除旧图片")
end
-- 创建新图片
local newImage = GUI:Image_Create(parent, imageID, 100, 100, "res/public/1900000610.png")
```
**代码说明:**
1. 先用`GUI:getChildByName()`根据ID查找已存在的图片
2. 用`GUI:Win_IsNull()`判断组件是否有效(避免空指针)
3. 用`GUI:removeFromParent()`从父节点移除旧图片
4. 最后创建新图片,使用相同的ID便于下次查找
这样就能确保每次创建新图片前都清理掉旧的,避免内存泄漏和重复创建。
← 返回问答库