0

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

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

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 的工作方法。对此的任何帮助表示赞赏。

4

3 回答 3

0

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

var itemBoxNumber = "itemBox" + currentItemBox;
mainMenu.getChildByName(itemBoxNumber).gotoAndStop("Potion"); //TODO ensure the child was given such a name
于 2013-10-04T04:01:09.303 回答
0

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

于 2013-10-04T09:49:01.080 回答
0

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

例如,如果您想调用该方法itemBox1mainMenu您可以执行以下操作:

mainMenu["itemBox1"]

这与以下内容相同:

mainMenu.itemBox1

因此,在您的示例中,您可以这样做:

mainMenu[itemBoxNumber].gotoAndStop("Potion");
于 2013-10-04T16:51:28.623 回答