2012-03-11 78 views
1

基本上這就是我所處的情況,我有一個AS2文件,它使用loadMovieNum(「file.swf」,0)命令可以正常工作,鏈接並打開一個AS3文件。在打開的AS3文件中,我有一個使用加載器類鏈接回AS2文件的按鈕,並刪除子文件以將原始AS2文件重新加載到屏幕上,但似乎沒有問題。Actionscript 2和Actionscript 3一起工作可能嗎?

但是,我現在唯一的問題是,現在我的原始AS2文件中的某些功能在重新加載時似乎不能100%正常工作,因爲它曾經在首次加載時出現在特定的某些按鈕中。

我想在這裏實現的東西太複雜甚至不可能做,我會更好,只是重寫我在AS3的整個項目? (有什麼我真的不希望在此刻做的,由於時間限制)

非常感謝,

回答

2

一般來說,混合ActionScript 2和3是不是做一件好事,尤其是與AS2作爲「父」。由於您似乎從AS2撥打電話到AS3,並回到AS2,我猜想它只是打破了。所以是的,解決方案是至少在AS3中創建父級腳本。儘量分開你的項目,也許你可以避免重寫所有的東西。

  • 寫入ActionScript 1.0或2.0 SWF文件無法加載ActionScript 3.0編寫的SWF文件。這意味着在Flash 8或Flex Builder 1.5或更早版本中創作的SWF文件無法加載ActionScript 3.0 SWF文件。

    此規則的唯一例外是,只要ActionScript 2.0 SWF文件以前沒有將任何內容加載到其級別中,ActionScript 2.0 SWF文件就可以用ActionScript 3.0 SWF文件替換它自己。 ActionScript 2.0 SWF文件可以通過調用loadMovieNum()來完成此操作,將0的值傳遞給level參數。

  • 通常,如果要用ActionScript 3.0編寫的SWF文件一起工作,則必須遷移用ActionScript 1.0或2.0編寫的SWF文件。例如,假設您使用ActionScript 2.0創建了媒體播放器。媒體播放器加載也使用ActionScript 2.0創建的各種內容。您不能在ActionScript 3.0中創建新內容並將其加載到媒體播放器中。您必須將視頻播放器遷移到ActionScript 3.0。

    但是,如果您在ActionScript 3.0中創建媒體播放器,該媒體播放器可以執行簡單加載的ActionScript 2.0內容。

source