模組開發對於大專案而言還是蠻有用的。優點很多啊。使用flex進行模組開發還不錯,畢竟人家都已經提供了module。我是沒有深入研究它裡面的 實現。不過可以肯定的一點就是:使用loader來載入各個模組,被載入模組依附主體模組。我說的依附,就是使用主體的類資源。
接下來就是各模組的通訊了。一般的方法是使用介面:每個模組swf實現乙個或多個介面,主swf載入模組後通過呼叫介面方法來通訊,比如模組b.swf實現了介面ieventdispacher(當然也可以自定義介面),然後在主swf中使用loader載入後:
var eventdispacher:ieventdispacher = loader.content as ieventdispacher;
然後便可以呼叫ieventdispacher定義的方法來與模組通訊。
這是面向介面的程式設計思想——介面是個好東西啊!當然,還有一種不是面向介面的呼叫:
var obj:object = loader.content;
然後你模組中定義了什麼方法,就在obj上使用什麼方法。要是你是乙個人開發,那沒什麼問題,反正模組有什麼方法你也知道。但是如果是乙個團隊的協同開發,還是面向介面好。
以上是關於模組開發中的模組通訊。然後就是怎麼發布各個模組。很多時候各個模組是公用很多資源的,比如你寫了個stringutils類,然後在各 個模組中都使用到了。這時候你使用傳統的flash匯出發布後,每個模組都把這個類編譯進去了。而實際上,只需要在主swf中存在該類就可以了——當模組 swf被載入到與主swf同域後完全可以直接使用主swf已定義的類資源。
於是你需要將各個模組swf中公用部分的資源剔除,或者是在編譯時exclude——兩種方法:
1:剔除,就是從已編譯後的模組swf中剔除一些主swf存在的類。你可以在這裡使用swf picker>>>
使用方法:
如果你的檔案為abc.fla,將_exclude.jsfl改命為abc_exclude.jsfl,將_exclude.xml改命為 abc_exclude.xml,都放置與abc.fla同目錄下;在abc_exclude.xml中新增需要exclude的類名稱。然後執行 abc_exclude.jsfl檔案即可。
申明:exlcude方法作者位址為:
flash模組開發
模組開發對於大專案而言還是蠻有用的。優點很多啊。使用flex進行模組開發還不錯,畢竟人家都已經提供了module。我是沒有深入研究它裡面的實現。不過可以肯定的一點就是 使用loader來載入各個模組,被載入模組依附主體模組。我說的依附,就是使用主體的類資源。接下來就是各模組的通訊了。一般的方法是使用...
flash元件開發 集合
我們在給元件設定引數介面的時候會用到array和object型別,利用inspectable標籤也可以實現,但是在引數檢查面板中修改起來非常不方便,這裡我們可以採用集合的方式來實現這一過程。name string 必需 顯示在 元件 檢查器中的集合名稱。variable string 必需 指向基礎...
FLASH基礎開發習慣
總體說明 每個人玩flash一段時間後,肯定都會形成自己的一套開發習慣。好的習慣可以盡可能避免低階失誤和不必要的麻煩,從而加速開發程序,提高開發質量。火山現在雖然只是業餘愛好者,但兩年的積累,再加上 火山之家 的開發,也自然而然的形成了火山特色的開發習慣。這些習慣從某種程度反映了我現在的開發水平,所...