【发布时间】:2019-12-21 12:45:24
【问题描述】:
我似乎无法通过“name, child in pairs(game.StarterGui.AdminCmds.Commands:GetChildren())”迭代来更改所有子元素的属性
我有一个带有许多按钮的 GUI 框架。当用户单击按钮时,(1) 代码应将所有按钮的 BackgroundColor3 重置为默认值,然后 (2) 切换单击按钮的 BackgroundColor3 以突出显示它。
第 2 部分工作正常,但第 (1) 部分未能更改背景颜色,这很可能是由于我尝试处理 Frame 子项的方式。如果我在操作过程中执行“打印(姓名,孩子)”,我可以看到正确的值,但 BackgroundColor3 无法更改。
local button = script.Parent
local toggled = false
local function onButtonActivated()
-- Loop through Frame and reset button colour
for name, child in pairs(game.StarterGui.AdminCmds.Commands:GetChildren()) do
child.BackgroundColor3 = Color3.fromRGB(0, 85, 127)
end
-- Update clicked button colour
if toggled == false then
button.BackgroundColor3 = Color3.fromRGB(85, 170, 255)
toggled = true
else
button.BackgroundColor3 = Color3.fromRGB(0, 85, 127)
toggled = false
end
end
script.Parent.MouseButton1Click:Connect(onButtonActivated)
local button
local toggled
没有错误,只是没有颜色变化。 localscript 附加到当前作为测试的按钮之一。我打算将其更改为模块,但如何做到这一点是另一天的问题。
【问题讨论】: