GUI:setContentSize(self.ui."Button..i", 50, 35) 这样写不对吗
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-22 20:29:17 |
👁️ 阅读: 1
这个写法确实不对,问题出在 `self.ui."Button..i"` 这个部分。
根据浮生梦老师前端课程内容,获取控件对象应该使用正确的索引方式。正确的写法应该是:
```lua
-- 如果Button..i是字符串变量
local buttonName = "Button..i"
GUI:setContentSize(self.ui[buttonName], 50, 35)
-- 或者直接使用字符串索引
GUI:setContentSize(self.ui["Button..i"], 50, 35)
```
错误原因:
1. `self.ui."Button..i"` 这种语法在Lua中是不合法的
2. 点号`.`用于访问table的键,但键名必须是有效的标识符(不能包含特殊字符)
3. 当键名包含特殊字符(如点号)时,必须使用方括号`[]`和字符串形式
正确的索引方式:
- `self.ui.buttonName` - 当键名是合法标识符时
- `self.ui["Button..i"]` - 当键名包含特殊字符时
建议检查一下你的代码,确保控件名称和访问方式正确匹配。如果还有疑问,可以继续问我!
← 返回问答库