我有一个代码,我希望函数位于顶部,而不是循环本身。我该怎么做?
local blocks = workspace.test:GetChildren()
for indx, obj in pairs(blocks) do
obj.Touched:connect(function()
wait(3)
obj.BrickColor = BrickColor.Random()
end)
end
我不知道该怎么做...请发布正确的做法
您可以将函数定义为变量。
local onTouched = function()
wait(3)
obj.BrickColor = BrickColor.Random()
end
local blocks = workspace.test:GetChildren()
for indx, obj in pairs(blocks) do
obj.Touched:Connect(onTouched)
end
请注意,当您将
onTouched
传递给连接时,不要这样称呼它 onTouched()
。这将立即调用该函数,而不是将其传递给连接。