2013-04-30 92 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