Cocos2d-x裡面如何實現MVC(六)
阿新 • • 發佈:2018-12-21
本文將會比較簡短。如果你對於前面幾篇介紹cocos2d-x裡面如何實現mvc有什麼不清楚的地方,請跟我講,這樣我就可以補充地更詳細一點。在此,我簡單地總結一下前面寫的這些文章:
1 我們實現了Model,它可以幫助我們封裝遊戲的邏輯,這樣可以使我們的關注點集中於遊戲邏輯,而不是其它的(比如渲染)
2 我們實現了Controller來處理使用者互動,同時相應地更新model。
3 我們實現了View,而它的職責僅僅是負責顯示model的狀態。
它們三者之間的互動關係如下:
4 Controller負責初始化Model和View
5 View負責顯示Model
6 View負責接收使用者touch事件,然後傳遞給controller來處理。
7 Controller實現view的代理,同時可以操作Model。
8 model則執行一些遊戲邏輯處理並通知view它的狀態改變。
9 View根據model的當前狀態來更新它裡面的所有物件,比如精靈。
留幾個開放性的問題:
10 如果你想使用NSUodoManager來實現“撤銷”功能,你會把該功能放在哪裡呢?Model?Controller?View?
11 你會怎麼儲存當前場景的狀態資訊呢?
12 或者你還可以補充其它問題?