Actionscript 3.0 数组问题

Actionscript 3.0 Array Issue

我目前正在 Flash 中开发游戏原型,过去我通常会避免数组,这意味着我对它们比较陌生,但在我目前制作的游戏中,有一个自动化元素因此,我现在必须进入数组的世界。

所以,基本上我想要做的是有 7 个对象,假设盒子在我的游戏中每个都有一个盒子实例 + 它们的编号(box1、box2 等)。这些盒子中有 6 个是不可见的,除了其中一个(盒子 1)。但是如果我单击一个按钮,下一个框就会变得可见(box2、box3 等)。

所以我所做的是创建一个包含 7 个值的数组,从“1”到“7”

然后我创建了一个 Enter_Frame 事件,我想找出哪些框是不可见的,所以这是我第一次尝试的方法:

var array1:Array = ["1", "2", "3", "4", "5", "6", "7"];

所以这显然是数组,然后我创建了这个:

if(this["box"+ array1].visible == true) {
// Trace The Visible Boxes //
}

所以我知道这行不通,但本质上我想做的是检测哪些框是可见的,然后追踪这些框。非常感谢任何帮助或指导,谢谢!

你真的不需要数组,只需选中 1 到 7 的复选框:

for (var i:int = 1; i < 8; i++)
{
    if(this["box" + i].visible)
    {
        trace("Box " + i + " is visible");
    }
}

但是如果你需要用数组来做,因为会有一些复杂的值,那就是

for (var i:int = 0; i < array1.length; i++)
{
    if(this["box" + array1[i]].visible)
    {
        trace("Box " + i + " is visible");
    }
}