cocos2dx遊戲的客戶端整體框架設計:
一、傳統的方式
直接在每個場景中放置具體的sprite、node、effect等,之後在update中根據game State來進行update的操作,缺點是update中的邏輯異常複雜,代碼很難維護
二、分佈式的方式
初始化時:
GameScene添加具體的layer,遞歸的添加每個entity;可以有個GameWorld或GameDataManager來管理所有的數據,使用監聽者模式來註冊具體的layer(實現網絡的回調的數據監聽)。 網絡回調函數解析出數據之後,更新
相應的數據,進而更新每個具體界面listener
參考 <捕魚達人> 和 unity3d中的處理方式,可以先將整個game Scene分成邏輯上的layer,之後每個layer裏面放置具體的entity。 hero、enemy等entity 中具有基本的onStart onDestroy onUpdate等接口,
這樣在GameScene中可以update每個層,每個層update具體的每個entity。
基本思想:每個node作爲一個更新和顯示的基本操作單位。