AS3找出从循环动态添加按钮单击的按钮

时间:2012-01-12 00:07:34

标签: flash actionscript-3 actionscript

这让我疯了。

我有一个创建按钮的循环。每个按钮都停留在屏幕上,但滚动关闭,这意味着屏幕上任何时候最多有4个按钮。总共有241个按钮。

根据我的理解,使用数组将允许我稍后访问这些按钮,这很好,但我找不到一种方法来告诉我确切地点击了哪个按钮。

我在这里错过了一些非常简单的事情吗?

if (canAdd == true)
        {
            canAdd = false;
            while (curName < nextName)
            {
                var names:namez = new namez();
                names.ID = curName;
                names.name = "ID"+(curName);
                mcArray[curName] = names;
                names.t2.dtf_txt.text = getNames[curName];
                names.y = -28;
                spinner.addChild(names);
                if (curName < nextName)
                {
                    curName = nextName;
                    trace("curName updated to "+curName);
                }
            }
            mcArray[curName - 1].addEventListener(MouseEvent.CLICK, checkMe);
        }

        timer.start();

    }

    public function checkMe(e:MouseEvent)
    {
        trace("you clicked " + e.target.name);
        //trace("clicked: "+e.target.ID)
        //var names:namez = e.target as namez;
        //trace("clicked" + names.ID);
        //trace("clicked"+namez.ID);
    }
}

checkMe究竟应该是什么?

正如你所看到的,我已经尝试过所有种类 - namez类甚至在其中都有一个ID内部变量,但是调用它仍然只是一个错误。

1 个答案:

答案 0 :(得分:3)

您应该使用e.currentTarget代替e.target