local pos = GUI:getPosition(ui.ItemShow_..i) 哪里错了
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-07 18:51:27 |
👁️ 阅读: 0
你这段代码有个语法错误,正确的写法应该是:
```lua
local pos = GUI:getPosition(self.ui['ItemShow_' .. i])
```
或者如果`ui`是一个table:
```lua
local pos = GUI:getPosition(ui['ItemShow_' .. i])
```
**错误分析:**
1. `ui.ItemShow_..i` 这种写法是错误的,不能直接在点操作符后面拼接字符串
2. 正确的做法是使用方括号 `[]` 来动态拼接键名
3. 如果是从`self.ui`中获取,需要加上`self.ui`
**正确示例:**
```lua
-- 假设有循环
for i = 1, 5 do
local item = GUI:getChildByName(parent, "ItemShow_" .. i)
local pos = GUI:getPosition(item)
SL:Print("x坐标:", pos.x)
SL:Print("y坐标:", pos.y)
end
```
这是Lua的语法问题,记住:当键名需要动态拼接时,必须使用`table[key]`的形式,而不是`table.key`的形式。
← 返回问答库