
文章插圖
本次分享總結,起源于騰訊桌球項目,但是不僅僅限于項目本身 。雖然基于Unity3D,很多東西同樣適用于Cocos 。本文從以下10大點進行闡述:
1.架構設計
2.原生插件/平臺交互
3.版本與補丁
4.用腳本,還是不用?這是一個問題
5.資源管理
6.性能優化
7.異常與Crash
8.適配與兼容
9.調試及開發工具
10.項目運營

文章插圖
1、架構設計
好的架構利用大規模項目的多人團隊開發和代碼管理,也利用查找錯誤和后期維護 。
框架的選擇:需要根據團隊、項目來進行選擇,沒有最好的框架,只有最合適的框架 。
框架的使用:統一的框架能規范大家的行為 , 互相之間可以比較平滑切換,可維護性大大提升 。除此之外,還能代碼解耦 。例如StrangeIOC是一個超輕量級和高度可擴展的控制反轉(IoC)框架,專門為C#和Unity編寫 。已知公司內部使用StrangeIOC框架的游戲有:騰訊桌球、歡樂麻將、植物大戰僵尸Online 。
依賴注入(Dependency Injection,簡稱DI),是一個重要的面向對象編程的法則來削減計算機程序的耦合問題 。依賴注入還有一個名字叫做控制反轉(Inversion of Control,英文縮寫為IoC) 。依賴注入是這樣一個過程:由于某客戶類只依賴于服務類的一個接口,而不依賴于具體服務類,所以客戶類只定義一個注入點 。在程序運行過程中,客戶類不直接實例化具體服務類實例,而是客戶類的運行上下文環境或專門組件負責實例化服務類,然后將其注入到客戶類中,保證客戶類的正常運行 。即對象在被創建的時候 , 由一個運行上下文環境或專門組件將其所依賴的服務類對象的引用傳遞給它 。也可以說,依賴被注入到對象中 。所以,控制反轉是 , 關于一個對象如何獲取他所依賴的對象的引用,這個責任的反轉 。

文章插圖
StrangeIOC采用MVCS(數據模型?Model,展示視圖?View,邏輯控制?Controller,服務Service)結構,通過消息/信號進行交互和通信 。整個MVCS框架跟flash的robotlegs基本一致 。
數據模型 Model:主要負責數據的存儲和基本數據處理
展示視圖 View:主要負責UI界面展示和動畫表現的處理
邏輯控制 Controller:主要負責業務邏輯處理,
服務Service:主要負責獨立的網絡收發請求等的一些功能 。
消息/信號:通過消息/信號去解耦Model、View、Controller、Service這四種模塊,他們之間通過消息/信號進行交互 。
綁定器Binder:負責綁定消息處理、接口與實例對象、View與Mediator的對應關系 。
MVCS Context:可以理解為MVC各個模塊存在的上下文,負責MVC綁定和實例的創建工作 。

文章插圖
騰訊桌球客戶端項目框架
代碼目錄的組織:一般客戶端用得比較多的MVC框架,怎么劃分目錄?
先按業務功能劃分,再按照?MVC?來劃分 。"蛋糕心語"就是使用的這種方式 。
先按MVC劃分,再按照業務功能劃分 。"D9"、"寶寶斗場"、"魔法花園"、"騰訊桌球"、"歡樂麻將"使用的這種方式 。

文章插圖
根據使用習慣 , 可以自行選擇 。個人推薦"先按業務功能劃分 , 再按照 MVC 來劃分",使得模塊更聚焦(高內聚) , 第二種方式用多了發現隨著項目的運營模塊增多,沒有第一種那么好維護 。
- 為啥手游最高充值檔位都是648土豪覺得低了充錢單位按小時算
- 騰訊消失的手游,騰訊開放世界游戲
- 騰訊手游助手模擬器啟動失敗停止運行解決方法,騰訊手游助手模擬器啟動失敗教程
- 手機游戲前十名熱門好玩的手游排行榜 最火爆的手游
- 騰訊手游助手怎么返回游戲「在騰訊手游助手還原端游操作體驗順滑競技樂趣」
- 騰訊手游助手連不上網怎么辦,騰訊手游助手沒網咋辦
- 吃雞端游手游對比,騰訊vs網易
- 火影忍者手游通靈獸實力排行 火影忍者哪個通靈獸厲害
- 手游游戲種類 手游的種類
- 劍俠情緣手游啟動黑屏,劍俠 情緣 手游
