2009-06-30 49 views
0

我有一個Flash組件,它只是一個帶有一些公開API調用的編譯代碼庫。通常我們將其作爲SWC或MXP進行分發,並且它工作得很好。最近我有一位客戶對使用我的組件感興趣,但他們只在MTASC中完成所有的開發工作。 MTASC不支持SWC文件,那麼有沒有一種好的方法可以發送可在MTASC中工作的預編譯代碼?我無法向他們發送原始源代碼,但如果有其他方法,我會很感激。我確實可以訪問源代碼,所以我可以重新編譯它,但是有必要。謝謝!如何分發Flash組件以用於MTASC?

+0

我通過Google發現了您的問題,並想知道您是否找到解決方案,因爲我目前有SWC和MTASC存在問題。我看到StackOverflow上沒有人有答案。謝謝。 – wpjmurray 2010-02-26 23:44:12

回答

0

我沒有找到一個答案,我不是100%肯定,如果這是完全過程,因爲我在那工作不再和沒有在我面前的電腦/過程了。這有點破解。

它所涉及的主要是解壓SWC文件,並得到一個.swf文件和一堆.asi的文件出來。

的.asi文件是真的只是ActionScript文件,但它們含有內在的定義,或只是原型或什麼的腳印居然有。它的真正的肉仍然在.swf。

因此,您將所有.asi文件重命名爲.as,然後將它們放入您的MTASC類路徑中。由於它們包含定義,因此編譯時不應該再收到「未定義的變量」或「未定義的函數」錯誤。現在,您只需使用loadMovie將實際函數體定義在其中的SWF中。一旦loadMovie完成,你應該能夠使用所有的功能。

當然,唯一需要注意的是,你必須等待SWF調用任何從SWC功能之前加載。

這樣一步一步,它看起來像這樣:

1)解壓縮SWC文件。這可以使用WinZip或OS X終端解壓縮命令 2.)將.asi文件重命名爲.as 3.)將新的.as文件添加到MTASC類路徑 4.)添加AS代碼以加載.swf並使其確保在SWF加載前沒有調用SWC功能 5.)編譯

我很確定這是我們所做的,但我現在不在現場試用它。

希望這可以幫助,讓我知道如果你有任何其他問題,我會看看我是否可以幫助弄清楚。