[LUA-print] [18:23:26-899] ----------------------------------------
[LUA-print] [18:23:26-899] [GUI ERROR] GUI:TextAtlas_Create ID is exists
[LUA-print] [18:23:26-899]
stack traceback:
[string "scripts/GUI/GUI.lua"]: in function 'TextAtlas_Cr
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-28 18:23:51 |
👁️ 阅读: 4
从错误日志来看,你的代码在第40行重复创建了相同ID的艺术字控件。错误信息 `[GUI ERROR] GUI:TextAtlas_Create ID is exists` 明确指出了问题。
在你的代码中,每次调用某个函数时都会创建新的 `TextAtlas` 控件,但ID相同,导致控件重复创建。
解决方案:
```lua
-- 在创建控件前,先检查是否已存在
local textAtlas = GUI:getChildByName(parentNode, "你的TextAtlas控件ID")
if not GUI:Win_IsNull(textAtlas) then
-- 如果控件已存在,先移除
GUI:removeFromParent(textAtlas)
end
-- 然后再创建新的艺术字控件
local newTextAtlas = GUI:TextAtlas_Create(parent, "TextAtlas_1", 495, 114, "00",
"res/custom/14_wuqi/2.png", 28, 34, "0")
```
另外,如果你需要更新已存在的艺术字文本,可以直接使用:
```lua
GUI:TextAtlas_setString(textAtlas, "新的文本内容")
```
记住,在996引擎中,控件的ID必须是唯一的,重复创建相同ID的控件会导致错误。下次写代码时要注意检查控件是否已存在哦!
从错误日志来看,你的代码在第40行重复创建了相同ID的艺术字控件。错误信息 `[GUI ERROR] GUI:TextAtlas_Create ID is exists` 明确指出了问题。
在你的代码中,每次调用某个函数时都会创建新的 `TextAtlas` 控件,但ID相同,导致控件重复创建。
解决方案:
```lua
-- 在创建控件前,先检查是否已存在
local textAtlas = GUI:getChildByName(parentNode, "你的TextAtlas控件ID")
if not GUI:Win_IsNull(textAtlas) then
-- 如果控件已存在,先移除
GUI:removeFromParent(textAtlas)
end
-- 然后再创建新的艺术字控件
local newTextAtlas = GUI:TextAtlas_Create(parent, "TextAtlas_1", 495, 114, "00",
"res/custom/14_wuqi/2.png", 28, 34, "0")
```
另外,如果你需要更新已存在的艺术字文本,可以直接使用:
```lua
GUI:TextAtlas_setString(textAtlas, "新的文本内容")
```
记住,在996引擎中,控件的ID必须是唯一的,重复创建相同ID的控件会导致错误。下次写代码时要注意检查控件是否已存在哦!
← 返回问答库