2009-09-11 37 views
2

我嵌入式使用上面我的類定義這句法的SWF成一個類:我可以在帶有Flex SDK的嵌入式SWF資產上使用時間線腳本嗎?

[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip

影片剪輯資產似乎與我聯繫類沒關係,和與它一起實例化,並且是可見的,但是:

  • 我無法訪問該剪輯中放置在舞臺上的實例。
  • 時間軸腳本似乎不起作用。

這是使用Flex SDK在編譯時嵌入SWF文件的缺點嗎? 因此,如果我想要時間軸腳本或實例定位在舞臺上,那麼也許我應該回到使用Flash IDE進行編譯?

回答

2
  1. 如果您嵌入[Embed]標籤,則所有腳本都將從您的符號中剝離。 但是你可以用MovieClip.addFrameScript()的幀添加腳本:

    公共職能SpecialMovieClip(){

    addFrameScript(4 MYFUNC)

    }

    私有函數MYFUNC(){

    停止()

    }

  2. 我想你只能使用movieClip.GetChildAt()訪問movieClip中的符號

1

docs:如果SWF文件包含的任何ActionScript代碼,柔性印刷編譯時警告,然後從嵌入符號剝離出的ActionScript(向下滾動到「嵌入SWF符號」)

。這意味着你只能嵌入符號本身。

根據你想做什麼,我認爲你最好是嵌入整個SWF,或者在運行時加載東西。

順便說一句,關於不能訪問嵌入符號內的東西,你確定目標SWF是AS3嗎?如果您嵌入(或加載)AS2內容,則只有通過LocalConnection才能實現互操作性。這也包含在我鏈接的文檔頁面上。

相關問題