Players.ilippo.PlayerGui.ScreenGui.Storage.Script:15: 用Connect索引nil值问题求助
问题分析与解决
错误原因
报错Players.ilippo.PlayerGui.ScreenGui.Storage.Script:15: attempt to index nil with 'Connect'的核心原因:Orebuttons是通过GetChildren()获取的子对象数组,并非单个按钮控件。数组本身没有MouseButton1Click事件属性,直接调用Orebuttons.MouseButton1Click会得到nil,自然无法执行Connect方法。
修正方案
要实现文件夹内所有按钮的点击绑定,必须遍历数组中的每个元素,判断是否为按钮类型后再绑定事件:
标准写法(可读性优先)
替换原代码中最后一段错误代码:
for _, btn in ipairs(Orebuttons) do -- GuiButton是所有按钮控件的父类,一次性判断所有按钮类型 if btn:IsA("GuiButton") then btn.MouseButton1Click:Connect(function() print("Click") OreString.Value = btn.Name end) end end
精简“一行”写法(压缩版)
如果想尽量压缩成单行代码,可使用table.foreach实现:
table.foreach(Orebuttons, function(_, btn) btn:IsA("GuiButton") and btn.MouseButton1Click:Connect(function() print("Click") OreString.Value = btn.Name end) end)
内容的提问来源于stack exchange,提问作者Sodz1aX
相关产品推荐
相关产品推荐

