【问题标题】:Actionscript 3.0 Array IssueActionscript 3.0 数组问题
【发布时间】:2016-08-04 08:28:00
【问题描述】:

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

所以,基本上我想要做的是有 7 个对象,比如说盒子,例如每个盒子在我的游戏中都有一个盒子的实例 + 它们的编号(盒子 1、盒子 2 等)。除了其中一个(box1)之外,其中 6 个框是不可见的。但是如果我单击一个按钮,下一个框就会变得可见(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 //
}

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

【问题讨论】:

    标签: arrays actionscript-3 flash


    【解决方案1】:

    您实际上并不需要一个数组,只需选中从 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");
        }
    }
    

    【讨论】:

    • 说如果我想稍微改变一下,而不是只为一个做 trace("Box + i + " is visible") ,但我想为每一个都做,所以像如果 2 个盒子可见,跟踪“Box1 可见”但也要跟踪“Box2 可见”我知道少量这将是基本的,但如果我想在将来扩展它以拥有 1,000 个盒子,那就是更简单,真的很感激!
    • nvm 我明白了哈哈。对不起,我对此很愚蠢,再次感谢您的帮助
    猜你喜欢
    • 2014-02-25
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多