2013-04-30 77 views
1

我有一个movieclip有多个对象具有相同的名称,我想用特定名称访问最顶级的孩子 - 我将如何去解决这个问题?我知道如何列出具有特定名称的儿童?

mc.getChildByName('theName') 

返回这个名字的第一个孩子,但我其实需要得到最顶端的孩子。

+0

你不应该由同一个名字有一个类不止一个实例变量(这是会发生什么,如果你命名一个以上的实例同样的事情)。底层目标是什么? – 2013-04-30 18:39:39

+0

是的,我意识到,现在,太远了项目,以真正解决它现在... – whodeee 2013-04-30 18:48:17

回答

1

一种方法是:

function getTopChild(targetMC, childName:String):MovieClip 
{ 
    for (var index:int = targetMC.numChildren-1;index >= 0;index--) 
    { 
     var child:MovieClip = targetMC.getChildAt(index) as MovieClip; 
     if (child.name == childName) 
     { 
      return child; 
     } 
    } 
    return null; 
} 
+0

谢谢但我得到一个错误,当我尝试测试,功能不会返回一个值 - 任何想法? – whodeee 2013-04-30 18:13:59

+1

我编辑它为返回null,即在childName不存在的情况下。但是,你得到了什么确切的错误? – prototypical 2013-04-30 18:35:05

+0

看起来您可能已经修改了提供的代码,以便代码可以在没有返回语句的情况下沿着路径走下去。 – 2013-04-30 18:41:11

相关问题