打造基於MVC的遊戲框架

MVC 模式非常得火,今天小編就來說說Unity 或 cocos creator 這類可視化+組件化開發的工具怎麼來做MVC。

MVC中的M指的是Model, V指的是視圖, C指的是控制, 接下來我們通過view, Ctrl, Model 依次來說明我們基於unity / cocos creator這類工具的MVC的開發框架中通常是怎麼處理的。

  這裏給大家推薦一個cocos creator學習交流羣

view:

unity/cocos creator這類工具,都是可視化編輯,編輯完後就有了一個"視圖", 普通開發的時候,我們會往節點上掛腳本,往按鈕上綁定事件,這樣做最大的不好,是讓美術修改視圖的時候還要關心程序的組件,萬一不小心刪除了… …, 所以我們一般在掛腳本綁定事件的時候,儘量都在代碼裏面來完成,

這些完成的過程,實際就是控制視圖, 屬於ctrl的內容,視圖要保持足夠的簡單,不要綁腳本或代碼;

 

Ctrl:

在ctrl裏面終歸是要訪問視圖的,我們在ctrl裏面怎麼方便的訪問視圖呢?一般我們會編寫一個代碼(或自動生成), 這個代碼作爲ctrl的基類,在ctrl裏面我們要非常方便的能訪問到視圖view裏面的各個節點,才能方便的對裏面的數據進行綁定,  我們這邊的處理方式,會建立一個view 的字典, 字典是view上個節點的名字路徑與view 節點對象對應,而這個功能,我們會在ctrl的基類裏面來把節點加載到字典裏面,然後所有的ctrl 都繼承自這個基類,這樣,在ctrl裏面就可以通過 this.view[路徑]能非常方便的訪問我們的view上的節點,和非常方便的來控制他們掛事件和腳本, 如下圖:

Cocos:   

                                                                             unity:                

 

Model:

Ctrl 除了控制視圖外,還要調用Model,Model, 我們通常會包括了常用的處理邏輯和數據, 例如策劃的配置文件,武器的配置文件等等。 我們會提供對應的工具和框架方便和策劃來溝通,來做我們的遊戲數據,這個時候通常我們用到的是excel表格,excel表格給策劃來填寫,如圖:

 

然後我們會自動生成代碼,程序自動的讀取excel表格轉換到的數據到我們的Model裏面,這樣我們就有了數據,方便我們的Ctrl使用。

 

這樣,Model,view, ctrl 就能很好的協助, model提供數據和方法,view 顯示,ctrl 控制他們, 這樣方便了策劃和程序,美術和程序之間的溝通和交流。以上方案供參考。

更多架構師的經驗。。。。 未完待續!

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