AS3 - 通过名字然后深度获取孩子

时间:2009-11-12 14:20:05

标签: flash actionscript-3

我有3个精灵:img1spr,img2spr和img3spr。在每个精灵里面我都有一些位图。 每个精灵都有一个名字:

img1spr.name=name1;
img2spr.name=name2;
img3spr.name=name3;

现在,每次执行函数时名称都会发生变化,如果有办法可以执行以下操作,我想知道的是:

getChildByName("name1").getChildAt(0)

这意味着我想找到名为name1的精灵,然后找到它里面的第一个子节点,或者用其他方式来计算name1里面的元素数量和numChildren。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:4)

你几乎就在那里 - getChildByName返回DisplayObject,你必须将其投放到DisplayObjectContainer以致电getChildByNamenumChildren

trace(DisplayObjectContainer(getChildByName("name1")).numChildren);
DisplayObjectContainer(getChildByName("name1")).getChildAt(0);

如果要更改两者之间的精灵名称,则必须确保不为父项的子列表中的两个对象指定相同的名称(闪存允许这样做)。这是因为getChildByName返回具有给定名称的第一个孩子 - 可能是也可能不是您正在寻找的孩子。