控制臺小游戲框架

? ? ? ? ? ? ? ? ? ? ? ? 控制臺小游戲框架

? ? ? ? 通過幾個月的C++學習,寫了不少的控制臺小游戲。寫的時候發(fā)現(xiàn)游戲的各個部分的打印都是分別進行,在同一個位置往往打印不止一次,這樣消耗了時間并且不利于管理。在之前我有簡單的了解過cococs2dx,所以我想用一個Manager類管理屏幕上所有的東西。并且將數(shù)據(jù)與屏幕刷新分開,用一個類來控制顯示。所以我初步定義了幾個類:Manager、Camera、Node。Camera用來控制顯示,Node是所有物體的基類。所有的物體都需要加入到Manager才被Camera顯示。

? ? ? ? 下面說一下Camera顯示的方法,我用了一個屏幕對應(yīng)大小的二維數(shù)組來緩存當前屏幕信息Arr1,還定義一個同樣的二維數(shù)組用來接收下一次刷新后的屏幕信息Arr2。將Manager類的所有的物體從最底層一次覆蓋到Arr2。如果直接用Arr2去重新打印一遍耗時套多,所以遍歷Arr2中與Arr1不同的值,修改屏幕對應(yīng)位置的信息,用以減少操作。代碼如下,其中一部分代碼是對中英文的不同處理


? ? ? ?代碼太多還是不貼了, 其中還有一些小的知識點,包括多叉樹的遍歷查找、事件委托、同級子類的相互轉(zhuǎn)換等等,有興趣的可以看看源代碼。其中有我簡單做的一個背包,如下圖


? ? ? 源代碼地址:源代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,060評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,777評論 25 709
  • 夢到河大 曾經(jīng)的無月無星的黑夜 一直在尋找光明大道 可都是羊腸小道 都是泥濘不堪的故鄉(xiāng)路 跨上河大的路 真不易 二...
    白豐閣閱讀 299評論 0 2
  • 就現(xiàn)在,我正在寫字的時候。是我剛看了十幾集熊出沒刷完微博玩完消消樂在等體力恢復的間隙。 我百無聊奈,開始了碎碎念模...
    不周姑娘閱讀 154評論 0 0
  • 整體:畫面大于2/3,表示強調(diào)自我存在,活動過度,對環(huán)境感知無壓力,但內(nèi)心緊張,好幻想,可能蘊含著幼稚,夸張及補償...
    走路去旅行閱讀 1,236評論 0 0

友情鏈接更多精彩內(nèi)容