Cocos2d-x高級開發教程

Cocos2d-x高級開發教程

《Cocos2d-x高級開發教程》是清華大學出版的一本圖書,作者是歐陽堅。本書匯聚了熱門手機遊戲《捕魚達人》開發的實戰經驗,作者從最基礎的內容開始,逐步深入地介紹了Cocos2d-x的相關知識點。

基本介紹

  • 中文名:歐陽堅
  • 別名:歐陽大神
  • 國籍:中華人民共和國
  • 民族:漢
  • 職業:千鋒ios講師
  • 畢業院校:清華大學
  • 代表作品:《捕魚達人》《憤怒的小鳥》
內容介紹,作品目錄,

內容介紹

Cocos2d-x是移動跨平台開發最流行的遊戲引擎,而本書是一本很全面的、比較‘接地氣’的遊戲開發教程。此外,書中的教學資源獲得《捕魚達人》手機遊戲的授權,讀者可以從一流遊戲開發中高起點地開始一段學習,掌握寶貴的開發經驗。

作品目錄

第一部分 引擎基礎
第1章 Hello Cocos2d-x 2
1.1  引擎簡介 2
1.2  搭建開發環境 3
1.3  Hello World 5
1.4  Hello World分析 6
1.5  測試樣例簡介 10
1.6  小結 11
第2章 在遊戲開始之前 12
2.1  基本概念 12
2.1.1  場景與流程控制 12
2.1.2  層 13
2.1.3  精靈 14
2.1.4  節點與渲染樹 14
2.1.5  動作與動畫 16
2.2  Cocos2d-x代碼風格 16
2.2.1  命名空間與類名稱 16
2.2.2  構造函式與初始化 17
2.2.3  選擇器 18
2.2.4  屬性 19
2.2.5  單例 20
2.3  C++中的Cocos2d-x記憶體管理 21
2.3.1  複雜的記憶體管理 21
2.3.2  現有的智慧型記憶體管理技術 21
2.3.3  Cocos2d-x的記憶體管理機制 22
2.3.4  工廠方法 25
2.3.5  關於對象傳值 26
2.3.6  釋放:release()還是autorelease()? 26
2.3.7  容器 27
2.3.8  相關輔助宏 28
2.3.9  Cocos2d-x記憶體管理原則 28
2.4  生命周期分析 29
2.5  小結 31
第3章 遊戲的基本元素 32
3.1  CCDirector:大總管 32
3.2  CCScene:場景 33
3.3  CCLayer:層 34
3.4  CCSprite:精靈 35
3.4.1  紋理 35
3.4.2  創建精靈 35
3.4.3  設定精靈的屬性 36
3.4.4  向層中添加精靈 36
3.4.5  常用成員 38
3.5  CCNode與坐標系 39
3.5.1  坐標系與繪圖屬性 40
3.5.2  節點的組織 43
3.5.3  定時器事件 44
3.5.4  其他事件 46
3.6  Cocos2d-x內置的常用層 46
3.7  Cocos2d-x調度原理 49
3.7.1  遊戲主循環 50
3.7.2  定時調度器 53
3.8  小結 58
第4章 動作 60
4.1  基本概念 60
4.2  瞬時動作 61
4.3  持續性動作 62
4.3.1  位置變化動作 63
4.3.2  屬性變化動作 64
4.3.3  視覺特效動作 65
4.3.4  控制動作 65
4.4  複合動作 66
4.5  變速動作 68
4.6  使魚動起來 70
4.7  創建自定義動作 74
4.7.1  一點簡單的物理知識 74
4.7.2  創建自定義動作 75
4.8  讓動作更平滑流暢 77
4.9  Cocos2d-x動作原理 79
4.9.1  動作類的結構 79
4.9.2  動作的更新 80
4.9.3  CCActionManager的工作原理 81
4.10  小結 83
第5章 動畫與場景特效 84
5.1  動畫 84
5.1.1  概述 84
5.1.2  使用動畫 85
5.2  場景特效 86
5.3  小結 87
第6章 音樂與音效 88
6.1  使用音效引擎 88
6.2  支持格式 89
6.3  播放音樂與音效 89
6.3.1  預載入 89
6.3.2  播放與停止 90
6.3.3  暫停與恢復播放 90
6.3.4  其他成員 91
6.4  小結 92
第7章 用戶輸入 93
7.1  觸摸輸入 93
7.1.1  使用CCLayer回響觸摸事件 93
7.1.2  兩種Cocos2d-x觸摸事件 94
7.2  觸摸分發器原理 97
7.3  觸摸中的陷阱 100
7.4  使用觸摸事件 100
7.4.1  使炮台動起來 100
7.4.2  識別簡單的手勢 103
7.5  加速度計 105
7.6  文字輸入 107
7.7  小結 110
第二部分 引擎進階
第8章 粒子效果 114
8.1  Cocos2d-x中的粒子系統 114
8.2  粒子效果編輯器 117
8.2.1  界面介紹 117
8.2.2  製作火焰特效 121
8.3  小結 124
第9章 大型地圖 125
9.1  瓦片地圖 125
9.2  編輯器 126
9.2.1  Tiled Map Editor簡介 126
9.2.2  創建水底世界 127
9.3  導入遊戲 131
9.4  實現層次感 132
9.5  預定義屬性 135
9.6  小結 135
第10章 Cocos2d-x繪圖原理及最佳化 136
10.1  OpenGL基礎 136
10.1.1  OpenGL簡介 136
10.1.2  繪圖 140
10.1.3  矩陣與變換 143
10.2  Cocos2d-x繪圖原理 145
10.2.1  精靈的繪製 145
10.2.2  渲染樹的繪製 147
10.2.3  坐標變換 150
10.3  TexturePacker與最佳化 152
10.3.1  繪圖瓶頸 152
10.3.2  碎圖壓縮與精靈框幀 153
10.3.3  批量渲染 154
10.3.4  色彩深度最佳化 156
10.4  小結 157
第11章 OpenGL繪圖技巧 159
11.1  自定義繪圖 159
11.2  遮罩層 161
11.3  數據交流 164
11.4  可程式管線 168
11.4.1  可程式著色器 168
11.4.2  CCGLProgram 168
11.4.3  變數傳遞 169
11.5  水紋效果 170
11.5.1  著色器程式 171
11.5.2  ShaderNode類 172
11.5.3  uniform變數準備 174
11.5.4  繪製 175
11.5.5  添加到場景 176
11.6  CCGrid3D 177
11.7  再議效率 178
11.8  小結 179
第12章 物理引擎 180
12.1  新的超級武器 180
12.2  Box2D引擎簡介 181
12.3  接入Box2D 181
12.4  更新狀態 184
12.5  調試繪圖 186
12.6  碰撞檢測 187
12.7  彈射 189
12.8  精確碰撞 190
12.9  小結 191
第三部分 遊戲開發進階
第13章 數據持久化 194
13.1  CCUserDefault 194
13.2  格式化存儲 194
13.3  本地檔案存儲 196
13.4  XML與JSON 196
13.5  加密與解密 200
13.6  SQLite 201
13.7  小結 205
第14章 網路 206
14.1  網路傳輸架構 206
14.2  CURL 206
14.3  簡單傳輸 207
14.4  非阻塞傳輸 209
14.5  用戶記錄 211
14.6  多人對戰與同步問題 211
14.6.1  時間同步 212
14.6.2  魚群同步 212
14.7  校驗 213
14.8  小結 213
第15章 快取與池 215
15.1  移動設備昂貴的CPU與記憶體 215
15.2  快取機制:預載入與重複使用 216
15.3  Cocos2d-x中的快取 216
15.3.1  CCTextureCache 216
15.3.2  CCSpriteFrameCache 217
15.3.3  CCAnimationCache 217
15.4  對象池機制:可回收與重複使用 218
15.5  對象池實現 218
15.6  落實到工廠方法 221
15.7  一個簡單的性能測試 222
15.8  使用時機 223
15.9  小結 224
第16章 並發編程 225
16.1  單執行緒的尷尬 225
16.2  pthread 225
16.3  執行緒安全 226
16.4  執行緒間任務安排 227
16.5  並發編程輔助 228
16.6  小結 233
第四部分 多平台
第17章 多平台下的Cocos2d 236
17.1  Windows 8 236
17.2  Windows Phone平台 237
17.3  Cocos2d-HTML5 237
17.4  移植 238
17.5  小結 238
第18章 可視化開發 239
18.1  CocosBuilder可視化開發 239
18.2  使用CocosBuilder創建場景 239
18.3  在Cocos2d-x項目中使用場景 241
18.4  小結 242
第19章 Cocos2d-HTML5  243
19.1  概述 243
19.2  開發流程 244
19.2.1  開發環境介紹 245
19.2.2  搭建開發環境 245
19.2.3  開始開發 249
19.3  代碼安全 255
19.4  小結 257
第20章 移植 258
20.1  命名原則 258
20.1.1  類名稱 258
20.1.2  類函式 259
20.1.3  屬性 259
20.1.4  選擇器 260
20.1.5  全局變數、函式與宏 260
20.2  跨語言移植 262
20.2.1  第一階段:代碼移植 262
20.2.2  第二階段:消除平台差異 265
20.2.3  第三階段:最佳化 268
20.3  小結 269
第五部分 實戰篇
第21章 實戰演練——開發自己的《捕魚達人》 272
21.1  開發前的準備 273
21.1.1  視圖 273
21.1.2  模型 274
21.1.3  控制器 275
21.2  開始開發 275
21.2.1  第一輪疊代 275
21.2.2  第二輪疊代 289
21.2.3  第三輪疊代 293
附錄A  把遊戲部署到Android平台 299

相關詞條

熱門詞條

聯絡我們