棋牌項目工作總結

最近半年自己用creator獨立負責開發一個棋牌項目和對這個項目的換膚,下面做下工作總結,來引導以後項目的開發,該項目包含十三水和麻將兩款遊戲。

0.項目中一些單例對象:GameManager,AudioManager,NetWork,util,UiHelp(窗口的一些通用提示),EffectHelp,Config(配置ip,版本,服務器時間等),UserManger,NativeClass(原生平臺),事件註冊監聽類(creator自帶,如果沒有,這個要自己實現),個人認爲,所有遊戲都需要這些單例對象。

0.項目中的一些定義:遊戲類型定義,場景名定義。個人認爲,這些是遊戲需要的;

項目中一些基類:

1.mvc:

窗口的基類:ViewBaseClass(基類包含函數:ctor,loadRes,show,hide,isVisible;)

model的基類:ModBaseClass(基類包含成員:param供調用者傳參用;功能:對消息跟事件回調處理,調用視圖改變)

control的基類:ControlBaseClass(對Mod和Wnd進行相互管理)

2.公共的組件:

AA開房界面;語音聊天按鈕(封裝了一些特效);玩家信息界面;關閉打開按鈕;銷房界面;設置界面。。。等等

3.對於有部分功能相同,有部分功能不同的界面的封裝:

例如:比如文字聊天界面中包含文字聊天和表情聊天;十三水和麻將的表情聊天是一樣的,文字聊天是不同的;

解決方案:獨立封裝表情聊天功能和聊天功能;將聊天功能提供基類(設置文字接口),讓派生類實現;

那麼這邊要設立一個標準:如果功能龐大就要獨立;如果功能小,就別不折騰了;

4.關於遊戲製作工程中的一些難點:

動畫:用代碼寫複雜的動畫是比較繁瑣的,爲啥不美術做呢?因爲有些動態計算位置,方向的動畫就需要程序實現,目前我用creator寫動畫還很薄弱,不知道有沒有好的教程可以學習,也不知道怎麼提高。。。。

斷線重連:

這一塊要求寫邏輯的時候就要寫好:場景中需要init,render,clean,這3個過程,以供斷線重連使用;

斷線重連還有個體驗比較差的解決方案是:斷線後退出遊戲場景,回到登錄界面;或者重新走loading界面,再進遊戲場景;

比較好的解決方案當然是走clean,然後再init,render了;

網絡連接一塊:

1).WiFi和4G相互切換,現在處理方案:切換4G或WiFi的時候,判斷websocket是否斷開,沒有斷開就直接斷開,發起重連(5秒一次);

2).蘋果退到後臺的網絡情況不可預知(有時候會斷線,有時候不會),退到後臺的情況暫時沒處理(就是斷開就重連,沒斷開就保持原樣);

3).心跳包:每一分鐘一次(沒感覺到效果)

creator引擎的bug:

1).比如安卓退到後臺調用關閉聲音代碼無效。。。

2).creator加載資源函數沒有百分比進度。。。







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