【问题标题】:Is there a way in lua to do this Parent.Parent.{{VAR}}.childlua中有没有办法做到这一点 Parent.Parent.{{VAR}}.child
【发布时间】:2020-11-23 14:45:27
【问题描述】:

我目前正在为学校作业制作 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,但很快就学会了,但我想我错过了很多东西。 提前致谢。

【问题讨论】:

标签: lua game-development roblox


【解决方案1】:

这个

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

完全没问题。

【讨论】:

  • 啊,谢谢。我会投票给你,但这不会让我感到抱歉。
猜你喜欢
  • 2021-07-09
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 2014-05-09
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
相关资源
最近更新 更多