2014-01-27 88 views
0

我試圖遍歷舞臺上的所有顯示對象並僅從動態和輸入Textfields中檢索數據。AS3:區分靜態和動態TextField

for (var i:uint = 0; i < this.numChildren; i++){ 
      var o = getChildAt(i); 
      if(o is TextField) { 
       if (o.type==TextFieldType.INPUT || (o.type == TextFieldType.DYNAMIC)) { 
        trace(o.name); 
       } 
      } 
     } 

但是,if語句用於檢測文本字段類型也接受靜態文本。我撓我的頭爲什麼這是,有什麼幫助?

回答

2

你可以這樣做:

if(o is StaticText){ 
    //trace(o); // [object StaticText] 
    } 

瞭解更多關於StaticText

+0

是的,我所做的是 '如果(o是StaticText){ 跟蹤(「跳過」+ o.name); }其他{ 跟蹤(「不退出」 + o.name) }' 我有三個不同類型的文本框(動態,輸入和靜態)和迭代的其中任何 –

+0

不會產生真正的@ KevinLerdwichagul查看文檔,'StaticText'沒有'name'屬性,它只有'text':http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StaticText。 html#text – Cherniv

+0

我的不好,只是給我的頭頂評論, regaurdless,重點是即使我已經跟蹤(「靜態文本發現」)if語句仍然不會返回true,並且即使DisplayList中有明顯的靜態文本字段,trace方法也不會被觸發 –