如何在 Roblox Studio 中删除“for”中的函数?

问题描述 投票:0回答:1

我有一个代码,我希望函数位于顶部,而不是循环本身。我该怎么做?

local blocks = workspace.test:GetChildren()

for indx, obj in pairs(blocks) do
    obj.Touched:connect(function()
        wait(3)
        obj.BrickColor = BrickColor.Random()
    end)
end

我不知道该怎么做...请发布正确的做法

lua game-development roblox roblox-studio
1个回答
0
投票

您可以将函数定义为变量。

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()
。这将立即调用该函数,而不是将其传递给连接。

© www.soinside.com 2019 - 2024. All rights reserved.