本書本著“起點低,終點高”的原則,內容覆蓋了從學習Cocos2d-x必知必會的基礎知識到各種高級特效與功能的開發。全書共分為11章,前10章按照由易到難的順序依次介紹了Cocos2d-x基礎、動作特效與場景切換特效、粒子系統、多點觸控、傳感器、音效、TMX瓦片地圖、Box2D物理引擎、2D控件、3D開發等方面的知識。最后一章給出了一個完整的游戲案例,既可以作為課程最后的總結與提高,也可以作為課程設計。
本書既可以作為高等院校計算機相關專業計算機游戲或多媒體相關課程的教材,也可以作為相關領域開發人員的參考用書。
1.游戲開發專家*新力作,作者培訓和講授此課程多年,案例都是來自于實際的商業項目。
2.配套資源豐富,視頻、課件、源代碼、習題解答。
3. 印刷精美,案例效果均配有彩插。
吳亞峰,畢業于北京郵電大學,后留學澳大利亞臥龍崗大學取得碩士學位。1998年開始從事Java應用的開發,有十多年的Java開發與培訓經驗,是*早關注Android開發的人員,并開發出一系列優秀的Android應用程序與游戲。主要的研究方向為OpenGL ES、手機游戲、Java EE、搜索引擎,同時為手機游戲、Java EE獨立軟件開發工程師,并兼任百納科技Java培訓中心首席培訓師。近10年來為數十家著名企業培養了上千名軟件開發人員,曾編寫過《Android 2.0游戲開發實戰寶典》、《Android核心技術與實例詳解》、《Android 3D游戲開發—技術詳解與典型案例》、《Android應用案例開發大全》和《Android游戲開發大全》等多本暢銷書籍。
第1章 初識Cocos2d-x 1
1.1 Cocos2d-x的概述 1
1.1.1 Cocos2d-x的發展史 1
1.1.2 Cocos2d-x的市場優勢 2
1.2 Cocos2d-x開發環境的搭建 2
1.2.1 Eclipse的下載與配置 2
1.2.2 Android SDK的下載與配置 6
1.2.3 Android NDK的下載與配置 8
1.2.4 Cocos2d-x的下載與配置 10
1.3 初識Cocos2d-x應用程序 11
1.3.1 簡單案例HelloCocos2dX的
導入與運行 11
1.3.2 Cocos2d案例導入后的相關
修改 14
1.3.3 創建自己的項目 14
1.4 本章小結 17
1.5 習題 18
第2章 Cocos2d-x基礎 19
2.1 Cocos2d-x中一些重要的基本概念 19
2.1.1 幾個重要的基本概念 19
2.1.2 導演類 20
2.1.3 節點類 21
2.1.4 兩個輔助類Vec2和Size 29
2.1.5 場景類 31
2.1.6 布景類 31
2.2 精靈類 32
2.2.1 基礎知識 33
2.2.2 案例運行效果 33
2.2.3 開發過程 34
2.3 Cocos2d-x中的基本控件 39
2.3.1 基礎知識 39
2.3.2 案例運行效果 45
2.3.3 開發過程 45
2.4 時間間隔系列動作的使用 51
2.4.1 基礎知識 51
2.4.2 案例運行效果 52
2.4.3 開發過程 53
2.5 持續時間系列動作的使用 58
2.5.1 基礎知識 58
2.5.2 案例運行效果 58
2.5.3 開發過程 59
2.6 Scale9精靈 60
2.6.1 基礎知識 60
2.6.2 案例運行效果 62
2.6.3 開發過程 63
2.7 本章小結 65
2.8 習題 65
第3章 動作特效與場景切換特效 66
3.1 基礎動作特效 66
3.1.1 背景知識 66
3.1.2 爆炸特效 66
3.1.3 瓦片消失特效 67
3.1.4 切開行、列特效 67
3.1.5 淡出特效 68
3.1.6 可扭曲波浪、旋轉扭曲特效 69
3.1.7 案例開發過程 69
3.2 3D動作特效 74
3.2.1 背景知識 74
3.2.2 3D振動、3D瓦片振動、3D
瓦片碎裂、3D瓦片跳躍、
3D瓦片波浪特效 75
3.2.3 流體、3D波浪、3D魚眼、3D
水波漣漪特效 75
3.2.4 3D繞軸旋轉及3D翻頁特效 76
3.2.5 案例開發過程 77
3.3 百分比動作特效 80
3.3.1 基礎知識 80
3.3.2 半徑模式、水平模式、垂直模式特效案例運行效果 81
3.3.3 案例開發過程 82
3.4 常用場景切換特效—
TransitionScene類 84
3.4.1 基礎知識 84
3.4.2 運行效果 85
3.4.3 案例開發過程 85
3.5 支持簡單動作的場景切換特效—
TransitionEaseScene類 87
3.5.1 基礎知識 87
3.5.2 運行效果 87
3.5.3 案例開發過程 88
3.6 支持方向的場景切換特效—
TransitionSceneOriented類 89
3.6.1 基礎知識 90
3.6.2 運行效果 90
3.6.3 案例開發過程 90
3.7 過渡效果的場景切換特效—
TransitionProgress類 92
3.7.1 基礎知識 92
3.7.2 運行效果 93
3.7.3 案例開發過程 93
3.8 本章小結 94
3.9 習題 95
第4章 粒子系統 96
4.1 內置粒子系統的使用 96
4.1.1 內置粒子系統概覽 96
4.1.2 炙熱的太陽效果 98
4.1.3 焰火、火焰效果 98
4.1.4 星系、綻放效果 99
4.1.5 流星、螺旋效果 99
4.1.6 爆炸、煙霧效果 100
4.1.7 下雪、下雨效果 101
4.1.8 案例開發過程 101
4.2 加載plist粒子系統 108
4.2.1 粒子設計器的使用 108
4.2.2 粒子系統的位置類型 111
4.2.3 加載plist文件的案例 111
4.3 本章小結 114
4.4 習題 114
第5章 雜項 115
5.1 2D圖元的繪制 115
5.1.1 基礎知識 115
5.1.2 案例運行效果 117
5.1.3 開發過程 117
5.2 單點觸控 120
5.2.1 基礎知識 120
5.2.2 案例運行效果 121
5.2.3 開發過程 122
5.3 多點觸控 125
5.3.1 基本知識 125
5.3.2 案例運行效果 126
5.3.3 開發過程 126
5.4 重力傳感器的使用 131
5.4.1 基本知識 131
5.4.2 案例運行效果 131
5.4.3 開發過程 131
5.5 鍵盤事件的處理 135
5.5.1 基本知識 135
5.5.2 案例運行效果 135
5.5.3 開發過程 136
5.6 用戶數據的存儲 138
5.6.1 基本知識 138
5.6.2 案例運行效果 140
5.6.3 開發過程 140
5.7 聲音的播放 143
5.7.1 基本知識 143
5.7.2 案例運行效果 144
5.7.3 開發過程 144
5.8 在Cocos2d-x中使用多線程 147
5.8.1 基本知識 147
5.8.2 案例運行效果 148
5.8.3 開發過程 149
5.9 文件的輸入/輸出 151
5.9.1 基本知識 151
5.9.2 案例運行效果 152
5.9.3 開發過程 152
5.10 多分辨率屏幕的自適應 154
5.10.1 非等比例縮放 154
5.10.2 等比例縮放并剪裁 155
5.10.3 等比例縮放并留白 155
5.10.4 Cocos2d-x中的實現 156
5.11 本章小結 156
5.12 習題 157
第6章 TMX瓦片地圖 158
6.1 背景知識 158
6.1.1 瓦片地圖的基本類型 158
6.1.2 正方形瓦片地圖的特點及實現 159
6.2 TMX瓦片地圖的基本知識 160
6.2.1 地圖設計器 160
6.2.2 開發中常用的相關類 165
6.3 TMX瓦片地圖案例 168
6.3.1 運行效果 168
6.3.2 開發過程 168
6.4 本章小結 175
6.5 習題 175
第7章 游戲開發的核心——
Box2D物理引擎 176
7.1 物理引擎很重要 176
7.1.1 什么是物理引擎 176
7.1.2 常見的物理引擎 176
7.2 2D的王者Box2D 179
7.2.1 基本的物理學概念 179
7.2.2 Box2D中常用類的介紹 180
7.3 剛體的創建 182
7.3.1 與形狀設置相關的知識 182
7.3.2 與剛體創建相關的知識 184
7.3.3 案例運行效果 185
7.3.4 開發過程 185
7.4 剛體的碰撞處理 193
7.4.1 基本知識 193
7.4.2 案例運行效果 194
7.4.3 開發過程 195
7.5 關節 199
7.5.1 基本知識 199
7.5.2 距離關節 200
7.5.3 旋轉關節 205
7.5.4 鼠標關節 209
7.5.5 移動關節 214
7.6 本章小結 218
7.7 習題 218
第8章 更加豐富的游戲功能——
擴展2D控件 220
8.1 UI系列控件—簡單控件 220
8.1.1 基礎知識 220
8.1.2 fnt字體文件的制作 223
8.1.3 一個簡單案例 224
8.2 UI系列控件—復雜控件 227
8.2.1 基礎知識 227
8.2.2 一個簡單案例 230
8.3 Control系列控件 235
8.3.1 基礎知識 236
8.3.2 一個簡單案例 239
8.4 EditBox控件 243
8.4.1 基礎知識 243
8.4.2 一個簡單案例 245
8.5 TableView控件 248
8.5.1 基礎知識 248
8.5.2 一個簡單案例 251
8.6 本章小結 255
8.7 習題 255
第9章 Cocos2d-x中的3D
開發 256
9.1 走進Cocos2d-x中的3D 256
9.1.1 基礎知識 256
9.1.2 一個簡單案例 256
9.2 3D攝像機 261
9.2.1 基礎知識 261
9.2.2 一個簡單案例 262
9.3 3D骨骼動畫 264
9.3.1 基礎知識 265
9.3.2 c3b文件的生成 266
9.3.3 一個簡單案例 267
9.4 本章小結 269
9.5 習題 269
第10章 游戲開發的利器——
CocosStudio 270
10.1 CocosStudio的下載及安裝 270
10.1.1 下載 270
10.1.2 安裝 272
10.1.3 Cocos啟動器的簡單介紹 273
10.2 使用 CocosStudio制作動畫 274
10.2.1 骨骼動畫的制作 274
10.2.2 換幀動畫的制作 278
10.2.3 加載及使用動畫的相關知識 280
10.2.4 一個簡單案例的開發 281
10.3 使用 CocosStudio實現控件編輯 283
10.3.1 控件的編輯 283
10.3.2 加載及使用控件的相關知識 287
10.3.3 一個簡單案例的開發 288
10.4 使用CocosStudio制作場景 291
10.4.1 場景的制作 291
10.4.2 加載及使用場景的相關知識 295
10.4.3 一個簡單案例的開發 296
10.5 本章小結 298
10.6 習題 298
第11章 課程設計——忍者狂奔 299
11.1 背景以及功能概述 299
11.1.1 游戲背景概述 299
11.1.2 游戲功能簡介 300
11.2 游戲的策劃及準備工作 301
11.2.1 游戲的策劃 301
11.2.2 使用Cocos2d-x開發游戲前的
準備工作 302
11.3 游戲的架構 304
11.3.1 游戲中各類的簡要介紹 304
11.3.2 游戲的架構簡介 304
11.4 場景相關類 305
11.4.1 游戲場景管理類—
SceneManager 305
11.4.2 游戲主界面類—
WelcomeLayer 306
11.4.3 游戲界面類—GameLayer 309
11.4.4 設置界面類—Settings 322
11.5 游戲的優化與改進 323
11.6 本章小結 324
參考文獻 325