Lua中是否有一种方法可以使用Parent.Parent.{{VAR}}.child进行操作

我目前正在为学校任务制作一款Roblox游戏,所以我正在制作一个基本的分类游戏,并使用以下函数:

game.Workspace.Gate.Touched:Connect(function()
    game.Workspace.Path.Transparency = 0
    game.Workspace.Path.CanCollide = true
    game.Workspace.Fence.Transparency = 0
    game.Workspace.Fence.CanCollide = true
end

但我想知道是否有方法使这个函数在长期内更实用,使它变成像这样的东西:

game.Workspace.Gate.Touched:Connect(function({{myVar}})
    game.Workspace.{{myVar}}.Transparency = 0
    game.Workspace.{{myVar}}.CanCollide = true
end

我今天刚开始学习Lua,但是很快就掌握了它,不过我猜我错过了很多东西。 提前谢谢。

点赞
用户4515989
用户4515989

这段代码

game.Workspace.Path.Transparency = 0

和这段代码

game["Workspace"]["Path"]["Transparency"] = 0

作用完全相同。你也可以混合两者:

game.Workspace["Path"].Transparency = 0

两者的区别只在语法上。第一个只允许你访问有效标识符的键,看起来更加“清晰”。第二个允许你使用任何变量或常量。

因此,以下代码:

game.Workspace.Gate.Touched:Connect(function(myVar)
        game.Workspace[myVar].Transparency = 0
        game.Workspace[myVar].CanCollide = true
end

是完全正确的。

2020-08-03 14:30:51