访问movieclip中的复选框



我在这里遇到了一点麻烦,不知道是否有人能帮我。

我目前在舞台上有一个主MovieClip(mc_investations),其中有18个复选框(cb_1、cb_2等)。

在主时间线上,我试图通过使用for循环来访问每个复选框:

for (var i=0; i <=18; i++)
{
    var CBname = 'cb_' + i;
    if (mc_investigations.CBname.selected == true)
    {
        trace("Checkbox" + i + " is selected.");
    }
}

我得到错误:TypeError:错误#1010:术语未定义且没有属性。在layout_fla::MainTimeline/frame1()

这让我相信变量CBname是一个字符串——我如何说服Flash它是MovieClip中复选框的一个实例?

谢谢大家。

尝试

if (mc_investigations[CBname].selected == true)

这篇文章也可能有助于getChildByName

如果您的复选框被导出为自定义类(例如Checkbox),则更稳健的方法如下:

for(var i:int = 0; i < mc_investigations.numChildren; i++)
{
    var child:DisplayObject = mc_investigations.getChildAt(i);
    if(child is Checkbox && (child as Checkbox).selected)
    {
        trace("Checkbox " + child.name + " is selected.");
    }
}

最新更新