2009-11-14 96 views
17

我寫在Flash/AS3的東西,我碰到這個問題來了:的Flash AS3:的ReferenceError:錯誤#1056:無法創建屬性

ReferenceError: Error #1056: Cannot create property txtInput on package.name.DocumentClasss

基本上我有一個文檔類,我可以創建影片剪輯實例並編譯時不會出現問題。但是,當我在舞臺上放置一個輸入文本字段(調色板中的「T」圖標),並拒絕編譯時,出現上述錯誤。

我不確定這是否有所作爲,但我正在FlashDevelop中編寫ActionScript,並在Flash IDE中完成編譯。我也有Strict ModeWarnings ModePublish Settings -> Flash -> Script -> Settings... -> Errors下選擇。

我已經搜索了這個在線的解決方案,唯一的建議似乎是不在Flash IDE中插入文本字段,而是在文檔類中動態創建它們。

有沒有更好的解決方案?

感謝

+0

發佈stacktrace以及引發錯誤的行(以及某些上下文)。 – 2009-11-14 13:20:54

回答

28

這聽起來像你有「自動聲明舞臺實例」氾濫,因此,如果你想添加一個名爲情況下,你需要聲明它在你的類

import flash.text.TextField; 
... 
public var txtInput:TextField; 
... 

您可以在影片屬性的Flash選項卡中找到聲明舞臺實例設置,然後單擊Script:Actionscript 3選擇框旁邊的「設置」。

就我個人而言,我總是有這樣的選擇,所以它強制你在你的課堂上聲明實例,你可以更好地跟蹤發生了什麼。

+0

謝謝!你沒有選擇聲明階段實例是正確的,那就是我想要的行爲。我的錯誤是,我將文本字段聲明爲「flash.text.TextField」,而是以TextInput的形式聲明。我很難過,因爲它給了我一個參考錯誤而不是類型錯誤。 – bguiz 2009-11-15 01:25:08

+0

選項在哪裏:「自動聲明階段實例」找到了? – 2010-01-05 22:16:20

+2

如果你去發佈設置,選擇「閃光」標籤,你應該有一個「設置」按鈕旁邊的選擇框顯示「動作腳本3」 在這個窗口中,你可以取消選中「自動聲明階段實例」 – Les 2010-01-06 09:13:59

相關問題