按照下面3點進行代碼優化:
1、 現在點擊海洋世界的關卡,將調用addPlayerAnimation() 方法,把角色需要的動畫都緩存到內存,因爲這個動畫跟角色相關,所以應該把角色動畫添加到RicherPlayer類中,當某個角色退出遊戲後,便於清理,也便於管理、調用。
2、 當調用角色的startGo(),會調用到RicherGameController類中,但是我們現在每次調用RicherGameController,都會create一個對象,不應該啊。
3、 RicherGameController類應該只處理邏輯相關的,其他跟邏輯無關的我們應該儘量轉移到相應類中處理
針對第一點:
把方法void GameBaseScene::addPlayerAnimation() 從GameBaseScene中移除到 RicherPlayer類中。這樣連帶也需要修改RicherPlayer的create方法,給RicherPlayer的create方法傳入一個tag標示,根據標示引用相應的圖片創建角色
針對第二點:
把RicherGameController改爲單例
針對第三點:
移除掉裏面的動畫創建的代碼,移動到RicherPlayer類中處理。
好了就修改了這些,大家可以用beyondCompare比較一下2個工程的區別看看,改動不大,感覺邏輯比以前要好多了。
點擊下載代碼 http://download.csdn.net/detail/lideguo1979/8296883
未完待續......................