如何在一個工程中嵌入模塊

在開發過程中我們經常會遇到這樣一個問題:

一個遊戲在接近尾聲的時候突然來了一個需求,要在主遊戲過程中嵌入一個小遊戲,並且現有邏輯要使用這個小遊戲的遊戲結果。

這時候 我們應該怎麼辦?

最一般邏輯應該是,在需要觸發小遊戲的時候,嵌入整個小遊戲的代碼(或者是類或者是函數),然後在執行完遊戲後使用返回結果。這樣做容易造成代碼不容易維護。

於是我想那就把這個小遊戲單獨先做成一個swf放在備用,在主遊戲中預留一個用於嵌模塊的虛函數,然後要嵌套的時候直接加載這個flash這樣子不管我在後期要加多少模塊,工作都集中在這些模塊製作上。而主框架需要動的就是那個嵌模塊用的虛函數了。

但是這樣子又遇到一個問題,那就是怎麼使加載進來的swf和現有的主框架進行通信?這是一個問題,用鉤子函數就可以結果了,模塊提供一個接口用於接受鉤子函數,主框架裏提供鉤子函數用於和模塊通信的邏輯處理。一掛上什麼問題都沒有了。

那麼開發一個項目,就變成了模塊的戰鬥。思路變的很清晰。

主框架負責加載模塊和提供模塊的邏輯函數並決定模塊的位置。

模塊負責自身的表現,以及提供接口。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章