Cocos2d-x 架構一個游戲的一般思路


采用下面的步驟來實現游戲邏輯:

  • 通過應用程序代理類來初始化第一個CCScene(即AppDelegate里面的第一個CCScene),
  • CCScene里面實例化一個或者多個CCLayer,並把它們當作孩子添加進去。
  • CCLayer 里面實例化一個或者多個CCSprite,也調用addChild添加進去
  • CCScene 處理用戶輸入(比如touch事件和加速計的改變),同時更新CCLayer和CCSpirte的屬性,比如更改CCSprite的position,讓sprite運行一個或多個actioin等。
  • CCScene里在運行一個游戲循環(game loop,一般是1/60更新一次),然后CCLayer和CCSprite就在這個game loop里面做一些更新和游戲邏輯。

        這個過程看起來非常簡單,而且也可以很快地做出游戲來。這也是為什么cocos2d這么流行的原因,它實在是太簡單了。但是,當你的游戲邏輯越來越復雜的時候,你的代碼會變得越來越難以維護。這里面最突出的問題就是,CCScene這個類負責的事情太多了---同時要處理用戶交互,還有負責游戲邏輯(邏輯層)和畫面顯示(表示層)。(譯者:根據SoC的原則,這顯然是不合理的,我們應該把職責分離開來,這樣代碼才更容易維護。同時SRP(單一職責原則)也是這么要求的,一個類只負責一件事情)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com