local win = GUI:Win_Create("Win_1", 0, 0, 1136, 640)
GUI:LoadExport(win, NPCpath_name)
local ui = GUI:ui_delegate(win)
GUI:setAnchorPoint(ui.Node_1, 0.5, 0) 为什么不生效 使用的是gui工具
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-07 00:38:08 |
👁️ 阅读: 0
你的代码中 `GUI:ui_delegate(win)` 缺少了第二个参数 `objcfg`,这会导致 `ui` 变量可能没有正确获取到界面上的节点。
根据浮生梦老师前端课程内容,`GUI:ui_delegate` 函数需要两个参数:父节点和界面配置对象。正确的用法是:
```lua
local win = GUI:Win_Create("Win_1", 0, 0, 1136, 640)
GUI:LoadExport(win, NPCpath_name)
local ui = GUI:ui_delegate(win, objcfg) -- 需要传入objcfg参数
if GUI:Win_IsNotNull(ui.Node_1) then
GUI:setAnchorPoint(ui.Node_1, 0.5, 0)
SL:print("锚点设置成功")
else
SL:print("Node_1节点不存在或为空")
end
```
**参数说明:**
- `parent`:父节点对象(必选)
- `objcfg`:界面配置对象(必选),通常通过GUI工具导出的配置文件
**常见问题排查:**
1. **检查节点是否存在**:使用 `GUI:Win_IsNotNull(widget)` 判断节点是否有效
2. **检查objcfg参数**:确保传入的objcfg是正确的界面配置
3. **检查节点名称**:确认界面中确实有名为 "Node_1" 的节点
如果还是有问题,可以检查一下GUI工具导出的配置文件中是否包含 "Node_1" 这个节点名称。
← 返回问答库