0

我无法动态地使用它们的索引号调用数组的值。我正在尝试做的是每次 for 循环调用时动态获取影片剪辑的名称。我的代码:

public var allItemsUnlockedTC:Array = new Array("Itemwrench", "Itemsc", "Itemvoltmeter", "Itemgloves", "Itemstirespray");

for(var TCitems:int = 0; TCitems < allItemsUnlockedTC.length; TCitems++)
            {
                trace("TCitems length: " + TCitems);
                trace("Values: " + allItemsUnlockedTC.valueOf([TCitems]));
                /*getChildByName(allItemsUnlockedTC.valueOf(TCitems) as MovieClip).x = par.toolCloset.kast_1.slotTC1;//getChildByName("slotTC" + (TCitems + 1)).x + 400;
                getChildByName(allItemsUnlockedTC.valueOf(TCitems) as MovieClip).y = par.toolCloset.kast_1.slotTC1;//getChildByName("slotTC" + (TCitems + 1)).y + 245;
                getChildByName(allItemsUnlockedTC.valueOf(TCitems) as MovieClip).gotoAndStop(2);
                //getChildByName(allItemsUnlockedTC.valueOf(TCitems)).name = ("slotTC" + (TCitems + 1));
                NotinventoryParentTC.addChild(getChildByName(allItemsUnlockedTC.valueOf(TCitems) as MovieClip));*/
            }

我不是按升序逐个获取值,而是在每次 for 循环调用时一次获取所有值。

如何使用 for 循环按索引调用值?

提前致谢,

米兰

没关系,我解决了。

trace("Values: " + allItemsUnlockedTC[TCitems]);

愚蠢的问题xS

4

2 回答 2

0

您想在特定索引处获取项目。在 actionscript 中,这样做是这样的:yourArray[index]. 不要使用valueOf.

所以它看起来像:

trace("Values: " + allItemsUnlockedTC[TCitems]);
于 2013-05-02T13:34:33.533 回答
0

只需使用一个for each...in循环。

 for each(var TCitems:String in allItemsUnlockedTC)
 {
            trace("TCitems length: " + allItemsUnlocked.indexOf(TCitems));
            trace("Values: " + TCitems);
 }

请注意,这只是我的想法,代码可能并不完全正确。

于 2013-05-02T13:29:48.370 回答