2012-08-07 87 views
0

沒有人知道如何動態地爲NativeText/StageText分配一個名稱,因爲我試圖建立一個動態接口而不是硬編碼它,任何幫助將不勝感激!as3動態StageText/NativeText的名稱

+0

解決了這個我自己做這個 - HTTP://計算器。 com/questions/11848703/as3-object-values-nativetext 並將nt.name =設置爲動態實例名稱。 – sputn1k 2012-08-07 22:49:04

回答

0

下面是一些示例代碼,你想要做的迭代函數裏面有什麼

public class IterationTest extends Sprite { 

    public function IterationTest() { 
     createObjects(); 
     iterate(); 
    } 

    private function createObjects():void { 
     for (var i:int = 0; i < 1000; i++) { 
      addChild(new TextField()); 
      addChild(new MovieClip()); 
     } 
    } 

    private function iterate():void { 
     var numTextObjects:int = 0; 
     for (var i:int = 0; i < this.numChildren; i++) { 
      var child:DisplayObject = getChildAt(i); 
      if (child is TextField) { 
       //do your stuff here 
      } 
     } 
    } 

} 
+0

感謝您發佈回覆,請仔細閱讀本文。但不確定這會對StageText有幫助嗎? http://blogs.adobe.com/cantrell/archives/2011/09/native-text-input-with-stagetext.html – sputn1k 2012-08-07 14:09:37

+0

哦,對不起,以爲你的意思是「本地文本字段」:o我會看看我找到了什麼^^ – 2012-08-07 14:29:21

+0

謝謝,幫忙! :) 其類型的對象NativeText, 我一直在玩這個 - VAR NT:NativeText = NativeText(的DisplayObjectContainer(getChildByName( 「INSTANCENAME」))); // INSTANCENAME =動態名稱已設置 trace(nt.name); //痕跡INSTANCENAME trace(nt.text); 但返回此錯誤 - 1119:通過靜態類型NativeText的引用訪問可能未定義的屬性文本。 我想返回實例名稱的值(不知道要使用什麼)。 – sputn1k 2012-08-07 14:40:59

1

你應該保持到StageText的的動態創建的實例的引用,你可以不通過查詢顯示列表(因爲它是得到它不在顯示列表中)。你可以有StageText的矢量

var m_vStageTextInstances:Vector<StageText>; 

然後你只需迭代這個向量。

+0

謝謝,但我自己修復它歡呼! – sputn1k 2012-08-07 22:48:27