2010-03-04 43 views
2

簡單的問題,我不能很快找到答案在線 - 看來這將是教程隨處可見 - 也許是......從父MovieClip的ActionScript中設置動態的TextField.text 3

我有一個具有Dynamic TextField的MovieClip:我們調用字段txtName的實例。我想爲txtName設置文本字段,所以我添加了一些ActionScript(3!),它很好用,很容易:txtName.text =「Foo」;

太好了。現在爲什麼當我從包含具有動態文本的MovieClip的父級MovieClip中嘗試相同的操作時它不工作?例如:

兒童的MovieClip與文本字段的ActionScript 3在幀#1:

//------ 
function SetText(str:String):void { 
    txtName.text = str; 
} 
//------ 

父級MovieClip包含上述的MovieClip(例如稱爲movieChild) 具有在框架下面的ActionScript 3 #1:

//------ 
movieChild.SetText("Hello Child"); // Doesn't work 
movieChild.txtName.text = "Hello Child"; // Doesn't work 
MovieClip(movieChild).txtName.text = "Blah"; // Doesn't work 

我錯過了什麼簡單的事情?我知道TextField中的文本實際上是通過使用跟蹤進行檢查來設置的,但顯示並未真正改變。

準備好尷尬和謙卑的答案。

Eddie

+0

你可以嘗試:trace(movieChild)? – 2010-03-04 22:10:03

+0

它不起作用(即什麼都不做),還是會拋出錯誤? – longstaff 2010-03-05 09:04:15

回答

1

這可能就是您的函數SetText不公開。在「功能」之前粘貼「公共」,然後再試一次,應該可以正常工作:)

對於第二行,如果您嘗試直接設置它,可能會出現同樣的問題;如果您的文本字段的變量聲明不公開。

1

對於愚蠢的問題,我很抱歉。我遇到了一個簡單的錯誤命名問題。沒有錯誤發生,我所做的所有痕跡似乎都是正確的,但沒有任何變化。

問題的根源在於我決定拋出一個「HotSpot」翻轉影片剪輯,並最終將其稱爲與我製作的影片剪輯相同的內容。張貼之前應該稍微注意一下。

我仍然不確定爲什麼它沒有拋出錯誤。至於使用「公共」,這不僅僅是當你使用外部動作腳本文件,即不直接附加到時間線的動作?

感謝您的意見!

+0

是的,我認爲這是事實。我不確定當你處理的所有事情都在時間軸上時,它是否會有所作爲,但認爲它值得一試。很高興你解決它無論如何:) – debu 2010-03-05 17:41:08

+0

我也遇到了重複的名稱問題很多次。它使我堅信,如此豐富的環境無法告訴我是否有多個資產重複的名稱....您可以在Actions面板中使用場景/資產查看器...但是TEDIOUS有噸在舞臺上的項目... – exoboy 2010-07-18 21:06:49

相關問題