我在这里遇到了一点麻烦,不知道是否有人能帮我。
我目前在舞台上有一个主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.");
}
}