2013-10-09 41 views
0

我在影片剪輯添加textfield並添加得到文本的底色bg.Here是該代碼::從文本框

     box = new boxMc(); 
         bg.addChild(box); 
         box.x=boxX; 
         box.y=boxY; 

         exampleText="<p class='sarath'>"+k+"</p>"; 
         boxVal = new TextField() 
         box.addChild(boxVal); 
         boxVal.styleSheet=sheet; 
         boxVal.htmlText=exampleText; 
         boxX=boxX+28   
         boxArray.push(box) 

現在我想以檢索從文本框中boxVal文本..和我試過如下::

for(var j:Number =0;j<boxArray.length;j++) 
       { 
        var mc:MovieClip = boxArray[j] as MovieClip; 
        trace(mc.getChildAt(1).text) 
} 

當我跟蹤mc.getChild(1),它顯示爲TEXTFIELD,但trace(mc.getChildAt(1).text) 給了我下面的錯誤

1119: Access of possibly undefined property text through a reference with static type flash.display:DisplayObject. 
+0

嘗試'TextField(mc.getChildAt(1)).txt' – putvande

+0

Thankyou @putvande – user2862947

回答

1

putvande是對的,但你可能想知道爲什麼。

getChild返回一個DisplayObject,而DisplayObjects沒有文本屬性。您需要將返回的DisplayObject「轉換」爲其具有文本屬性的其中一個子類(本例中爲TextField)。

實際上,TextField(mc.getChildAt(1))將getChildAt()返回的DisplayObject轉換爲TextField。然後,您可以愉快地訪問.text和其他任何TextField屬性。