2011-04-07 90 views
1

加入我試圖做到以下幾點:AS3更改文本字段從庫

我有我叫zonaCentral_mc階段的空MovieClip。我使用了這個代碼的函數:

zonaCentral_DescripcionProceso = new zonaCentral_DescripcionProceso_mc(); 
zonaCentral_mc.addChild(zonaCentral_DescripcionProceso); 

它從庫中加載的MovieClip zonaCentral_DescripcionProceso到空的動畫片段zonaCentral_mc。加載的MC有一個名爲titulo_text的動態文本框。我如何更改該文本?我想:

this["zonaCentral_mc"].getChildByName("zonaCentral_DescripcionProceso").getChildByName("titulo_text").text = "hello"; 

,但我得到的錯誤:#1010:一個學期沒有定義,並且無任何屬性

我也試過符號這個[」 zonaCentral_mc「]。zonaCentral_DescripcionProceso.titulo_text.text具有相同的結果。

我可以訪問它嗎?爲什麼它沒有定義,我相信它們都是定義的,並且在我稱之爲上述說明的階段。

+0

我不熟悉這個'[ 「zonaCentral_mc」]注意到影片剪輯的'風格。你嘗試過使用'zonaCentral_mc'嗎?我會嘗試一次追蹤您的項目。首先'zonaCentral_mc','zonaCentral_mc.getChildByName(「zonaCentral_DescripcionProceso」)'等等,並且看問題在哪裏。 – Sam 2011-04-07 22:19:30

+0

嗨,山姆,謝謝你的回覆,問題是裝載的MC沒有實例名稱 – 2011-04-08 00:04:53

回答

1

您實例化的MovieClip沒有實例名稱,這就是爲什麼您無法通過「getChildByName」訪問它。

試試這個:

zonaCentral_DescripcionProceso.name = "zonaCentralChildClip"; 
... 
this["zonaCentral_mc"].getChildByName("zonaCentralChildClip").titulo_text.text = "hello"; 

而且,我敢肯定,你可以訪問該文本字段,以及:

zonaCentral_DescripcionProceso.titulo_text.text = "hello"; 

請注意,如果你是zonaCentral_DescripcionProceso是一個MovieClip,你可以在不使用「getChildByName」方法的情況下訪問文本字段。

乾杯, 羅布

+0

非常感謝!我嘗試了第二個選項,它的工作原理。我認爲,由於** zonaCentral_DescripcionProceso **是** zonaCentral_mc **的子女,因此在使用點符號時必須通過父母訪問子女。我也不知道我必須指定實例名稱,我假設我將創建時使用的變量名稱。好吧,今天我學到了更多東西:) – 2011-04-07 23:53:07

+0

那麼,如果你有嵌套的剪輯,實例名稱是非常有用的。在這種情況下,您可以保留它,因爲您可以通過zonaCentral_DescripcionProceso變量訪問您的實例。 – robertp 2011-04-08 08:11:32

+0

如果在第一個解決方案中zonaCentral_mc在一個movieClip實例名爲mcA中?那麼這[[mcA.zonaCentral_mc]]。getChild不起作用!有任何想法嗎? – Milad 2014-07-20 08:29:19