有誰知道是否可以訪問SWC中的子元素?我創建了一些MC,在這些MC的一些內部,我有一些動態文本字段。我將內容導出到SWC並將其加載到我的Flex項目中。加載它或訪問父元素沒問題,它們顯示正常。但我想訪問MC中的textfields nestes並修改文本。當我調試應用程序時,我可以將文本框視爲子元素。它的類型爲TextField,實例名稱與Flash IDE中的輸入相同,但我無法訪問它。 Flex編譯時會拋出一個錯誤,表示它不能識別該方法。我試圖在時間軸上插入actionscript,鏈接外部類,並且什麼都不能訪問。有誰知道一種方法來做到這一點?訪問SWC中的子元素
回答
這很難說,因爲你沒有展示你的代碼失敗了,但我懷疑你正在做的:的
import myswc.*;
myswc.Symbol1.myTextField.text = "Foo"
代替
var clip:MovieClip = new myswc.Symbol1();
clip.myTextField.text = "Foo"
我已將我的swc放置在庫路徑下的Flex Build Path中。因此,我試圖訪問的組件可立即通過 var comp:Sprite = new componentFromSWC(); 然後我可以通過引用comp變量來訪問該元素。不需要導入,因爲它在構建路徑中。當我嘗試通過swc引用符號/元素的方法時,它無法識別它 - 引發編譯器錯誤。是否有另一個我應該設置我的SWC導入?這似乎首先起作用,我認爲它可以訪問所有元素。 – 2010-02-17 04:23:09
只有當您將包含符號的包裝導出到默認包裝中時,才需要導入。正確包裝你的課程是一個好習慣。 「myswc」在這裏不是一個神奇的名字,它是你在符號導出中使用的任何包的佔位符。 更重要的是,Sprite不是一個動態類 - 所以不要使用'comp.myTextField.text'嘗試'comp [「myTextField」] .text'。 – 2010-02-17 17:20:40
我遇到同樣的問題。同樣,這不完全是一個基於代碼的問題,但我會試着解釋: – 2011-01-18 20:56:39
我只是碰到了這個問題,以及,並且很好奇你爲什麼暗示他沒有使用實例名稱,因爲myTextField顯然是他使用的TextField的實例名稱....
- 1. 訪問元素的子元素
- 2. 訪問的子元素
- 3. 訪問子元素(jQuery的)
- 4. 訪問Nokogiri元素子元素
- 5. Selenium WebDriver訪問子元素
- 6. OpenRasta訪問子元素
- 7. AngularJS:訪問指令中的子元素
- 8. 如何訪問jquery中的子元素?
- 9. 無法訪問UserControl中的子元素
- 10. 如何訪問子元素()以外的子元素?
- 11. 我如何訪問子元素的子元素?那可能嗎?
- 12. 在Flash中訪問子元素
- 13. 不能訪問子元素 - jQuery的
- 14. 如何訪問框架的子元素?
- 15. jQuery的 - 訪問嵌套子元素
- 16. 訪問mulimap中的元素
- 17. 訪問coo_matrix中的元素
- 18. 訪問IBOutletCollection中的元素
- 19. Selenium中的訪問元素
- 20. 訪問treeset中的元素
- 21. 訪問元素
- 22. 訪問元素
- 23. 訪問元素
- 24. 訪問元素
- 25. 訪問元素?
- 26. 訪問元素
- 27. 訪問元素
- 28. 訪問元素
- 29. 訪問元素
- 30. 訪問元素
我認爲你需要告訴我們你的「重新嘗試 - 你的COM Cory使得它看起來像只是試圖訪問導入類的字段。他們是公開的嗎?它們的類型是否在SWC中導出? – 2010-02-17 05:43:09
我知道,問題是,我不知道如何顯示你,它不是所有的代碼,截圖也許?我通過每個MC上的鏈接選項在Flash IDE中導出每個運行時組件,以便導出的類是我可以通過swc訪問的類。我不知道如何以這種方式公開這個子元素(textfield)。這是我第一次使用swc。這是正確的方法嗎?我將這些組件中的每一個放置在另一個父容器元素中,並將其導出爲一個swc。 – 2010-02-17 13:03:01