我目前有一堆类似于
的盒子<Texture name="uiBox01">
*Other content*
</Texture>
这持续了18个盒子(uiBox18)。在Lua中,我能够通过
引用boss并改变其颜色uiBox01:SetVertexColor(r,g,b)
问题是我可能需要或不需要更多的操作盒。给定的操作可以在第一次通过时使用2个盒子,在下一次通过时可以使用8个盒子因此,它需要是动态的而不是静态的。
最终我想使用Lua这样的数组
uiBox[1] = uiBox01 --something similar to this
这样我就可以更有效地指定下一个索引。任何帮助将不胜感激!
编辑:使用的XML是WoW UI XML,它与基本XML非常相似。
答案 0 :(得分:0)
我不确定我的问题是否正确。我假设你想要做的是能够使用数组中的索引来引用一个框,而不是变量名。
i=5 -- set from somewhere,maybe a loop
-- after some time
myBox = boxes[i]
我不熟悉WoW,但我认为uiBox01是WoW以某种方式创建的全局变量。
在Lua中,全局变量存储在_G数组中,index是变量的名称。所以
uiBox01 == _G['uiBox01'] -- returns true
以下必须为您服务
i=5 -- set from somewhere,maybe a loop
-- after some time
myBox = _G['uiBox'..i]
如果i是单个数字,则扩展它以处理前缀零
i=5 -- set from somewhere,maybe a loop
-- after some time
myBox = _G['uiBox'.. (i < 10 and '0' or '' ) .. i] -- concatenate zero in middle if i<10
如果您正在寻找其他内容,请告诉我。