将变量与数字组合

时间:2013-10-04 01:31:20

标签: actionscript-3

我正在尝试使用我正在制作的游戏中的数组制作库存。

我需要的是一种将数字与变量组合在一起的方法,如下所示:

itemBoxNumber = "itemBox" + currentItemBox;
//In this case itemBoxNumber would say itemBox1

我可以用来替换itemBox1。

 function itemsMenuUpdate():void
    {
    for (var a:int = 0; a<maxInventory; a++){
                var currentItemBox:Number = 1;
                if(~inventory.indexOf("Potion")){
                mainMenu.itemBox1.gotoAndStop("Potion");
            }
            if(~inventory.indexOf("Hi-Potion")){
                mainMenu.itemBox1.gotoAndStop("Hi-Potion");
            }
        }
    }

我只能找到AS2的工作方法。任何帮助都表示赞赏。

3 个答案:

答案 0 :(得分:0)

您可以通过名称(您需要先设置)检索子显示对象。所以:

var itemBoxNumber = "itemBox" + currentItemBox;
mainMenu.getChildByName(itemBoxNumber).gotoAndStop("Potion"); //TODO ensure the child was given such a name

答案 1 :(得分:0)

创建一个LabelNumber类,它具有String标签和Number。然后,您可以添加一个方法,该方法返回标签的String和组合的数字,同时保持值彼此独立。

答案 2 :(得分:0)

如果我没记错,你可以从AS3中的String调用一个方法。

例如,如果您想在itemBox1上调用方法mainMenu,您可以这样做:

mainMenu["itemBox1"]

与以下内容相同:

mainMenu.itemBox1

所以在你的例子中你可以这样做:

mainMenu[itemBoxNumber].gotoAndStop("Potion");