lua - 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,但很快就学会了,但我想我错过了很多东西。提前致谢。
解决方案
这个
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
完全没问题。
推荐阅读
- xml - 为什么我的 XSLT 计数器变量没有更新?
- linear-regression - 在线性回归问题中添加特征
- amazon-web-services - 在安全组中添加/替换来自不同区域的 ec2 实例的公共 IP
- kubernetes - Kubernetes 仪表板未知字段“seccompProfile”和错误 503
- java - 将 picocli 与 picocli-shell-jline3 和配置的 java 模块一起使用会导致未命名的模块读取包编译错误
- python-3.x - 由于没有看到 HDF5,表库在安装时出错
- asp.net - 如何从asp.net vb.net中的sql查询中的对象获取值
- c# - 如何使用来自不同类的变量值 WPF C#
- html - 如何使用剪辑路径+动画来显示面板上下文
- angular - 如何在 Angular 12 中使用 href="/page"?