我目前正在为魔兽世界编写一个插件,但我已经运行了一些基本的lua问题。它的要点是,我想将此for
循环中的以下元素减少为一行。
目前,我正在使用WoW&#{1}}的api命令(它只是隐藏游戏中的帧)在一个共享相同名称的帧列表中,除了最后的数字。 "SetAlpha(0)"
。
我还必须对其他四个列表做同样的事情,每个列表也有12个不同版本的自己ActionButton1Name, ActionButton2Name, ActionButton3Name, etc
。
基本上,我想采取我现有的东西:
MultiBarBottomRightButton1Name, MultiBarBottomRightButton2Name, etc
SetAlpha特定于“魔兽世界”的API,因此请根据需要忽略它。
并将其转换为我在其他地方拥有自己的表中所有[]元素的东西,然后再使用该索引
for i=1, 12 do
["ActionButton"..i.."Name"]:SetAlpha(0)
["MultiBarBottomRightButton"..i.."Name"]:SetAlpha(0)
["MultiBarBottomLeftButton"..i.."Name"]:SetAlpha(0)
["MultiBarRightButton"..i.."Name"]:SetAlpha(0)
["MultiBarLeftButton"..i.."Name"]:SetAlpha(0)
end
然而,上述功能似乎不起作用,因为终端在第二行的local buttonNameIndex = function()
for i=1, 12 do
["ActionButton"..i.."Name"]
["MultiBarBottomRightButton"..i.."Name"]
["MultiBarBottomLeftButton"..i.."Name"]
["MultiBarRightButton"..i.."Name"]
["MultiBarLeftButton"..i.."Name"]
end
end
for i,v in ipairs(buttonNameIndex) do
v:SetAlpha(0) end
附近吐出了一个意外符号的错误。
至于为什么我要这样做:我以后会用这个框架列表做更多的事情,所以将它们全部组合成一个框架会很好表
答案 0 :(得分:0)
如果这些是全局变量,请使用如下表达式:
_G["ActionButton"..i.."Name"]:SetAlpha(0)
从动态创建的名称访问全局变量。