2016-08-29 26 views
-1

有一天,我嘗試在flash中設置字符串var,我需要以某種方式將var設置爲文本框。我試圖這樣做:從輸入文本設置私人var字符串

private var name: String = fromthis.text; 

它不起作用,任何人都知道爲什麼?

+1

看起來沒問題。在其他地方一定是個問題。請張貼額外的相關代碼,以及代碼的位置(時間軸,.as文件等)的描述。同時告訴我們「不起作用」的含義。你期望發生什麼以及發生了什麼*。 –

回答

0

如果我猜得不錯問題:

private var name: String = fromthis.text; 

意味着你宣佈一個名爲name變量,並使其價值在那一刻等於fromthis.text。如果您鍵入fromthis中的內容,則不會更改name變量。您需要聽取TextFiledCHANGE event以使變量保持最新狀態。

更新:
你得到Error #1009因爲fromthis不是從那裏你聲明name變量可見的,所以它等於null,不能有任何領域(包括實地稱爲text),所以你得到這個錯誤。
由於此時尚未創建,或者因爲代碼位於.as類文件的內部,並且fromthis位於舞臺上,因此無法像這樣訪問,所以可能會發生這種情況。
更新2:

如果name坐落在一個類文件,並fromthis只是拖入編輯器中的階段,最好的辦法是隻把它傳遞給類的構造函數:

private var _tf:TextField; 
function MyClass(tf:TextField){ 
    _tf = tf; 
    //or if you need the string from textfield just once you may pass that string 
} 

並調用類構造函數new MyClass(fromthis)(假設您可以在您實例化類的地方訪問fromthis)。

+0

它以此消息返回:TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 – ProgramKiddo

+0

@ProgramKiddo - 更新了我的答案 – www0z0k

+0

它位於一個類文件中,那麼有沒有辦法我可以找到它? – ProgramKiddo