我有3个精灵:img1spr,img2spr和img3spr。在每个精灵里面我都有一些位图。 每个精灵都有一个名字:
img1spr.name=name1;
img2spr.name=name2;
img3spr.name=name3;
现在,每次执行函数时名称都会发生变化,如果有办法可以执行以下操作,我想知道的是:
getChildByName("name1").getChildAt(0)
这意味着我想找到名为name1的精灵,然后找到它里面的第一个子节点,或者用其他方式来计算name1里面的元素数量和numChildren。
有办法做到这一点吗?
答案 0 :(得分:4)
你几乎就在那里 - getChildByName
返回DisplayObject
,你必须将其投放到DisplayObjectContainer
以致电getChildByName
和numChildren
trace(DisplayObjectContainer(getChildByName("name1")).numChildren);
DisplayObjectContainer(getChildByName("name1")).getChildAt(0);
如果要更改两者之间的精灵名称,则必须确保不为父项的子列表中的两个对象指定相同的名称(闪存允许这样做)。这是因为getChildByName
返回具有给定名称的第一个孩子 - 可能是也可能不是您正在寻找的孩子。