Cocos2d-X 3.0遊戲開發實戰詳解

Cocos2d-X 3.0遊戲開發實戰詳解

《Cocos2d-X 3.0遊戲開發實戰詳解》是2014年11月人民郵電出版社出版的圖書,作者是吳亞峰、閆敬、於復興。

基本介紹

  • 書名:Cocos2d-X 3.0遊戲開發實戰詳解
  • 作者:吳亞峰、閆敬、於復興
  • 出版社:人民郵電出版社
  • 出版時間:2014年11月
  • 頁數:576 頁
  • 定價:89 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115369062
內容簡介,圖書目錄,

內容簡介

隨著智慧型手機的普及,一些可玩性強的手機遊戲套用也逐漸普及開來。《Cocos2d-X 3.0遊戲開發實戰詳解》結合作者多年從事遊戲套用開發的經驗,全面介紹了與Cocos2d-x引擎相關的必知必會的基礎知識及完整的遊戲案例。內容安排上由淺入深、循序漸進,起點低、終點高,既適合初學者學習,也適合有一定基礎的讀者進一步提升之用。另外,由於Cocos2d-x引擎通用於各種移動嵌入式平台,因此,書中除了提供在Android平台下開發的案例之外,還提供了在iOS平台下開發的案例。
《Cocos2d-X 3.0遊戲開發實戰詳解》共分為12章,其中第 1~6章主要介紹了使用Cocos2d-x引擎進行遊戲開發時必知必會的基礎知識,包括各種特效、粒子系統、TMX瓦片地圖、聲音、操控、網路連線等;第7章詳細介紹了Box2D物理引擎的使用,同時還介紹了擴展自Box2D,用於流體開發的LiquidFun物理引擎;第8~10章介紹了Cocos2d-x引擎的一些高 級知識,主要包括高 級擴展控制項、Lua協同開發、CocoStudio等;最後的兩章分別給出了Android與iOS平台下的兩大完整遊戲案例。
同時為了便於讀者的學習,《Cocos2d-X 3.0遊戲開發實戰詳解》附贈的光碟中包含了書中所有案例的完整代碼,最大限度地幫助讀者快速掌握相應的開發技術。《Cocos2d-X 3.0遊戲開發實戰詳解》適合Android/iOS程式設計師、遊戲開發 者及愛好者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。

圖書目錄

第 1章 初識廬山真面目——Cocos2d-x 1
1.1 Cocos2d-x概述 1
1.1.1 Cocos2d-x的前世今生 1
1.1.2 初見Cocos2d-x 1
1.1.3 Cocos2d-x市場前景 2
1.2 Android SDK的下載及配置 3
1.2.1 Android SDK的下載 3
1.2.2 Android SDK的配置 4
1.3 Cygwin的下載及安裝 5
1.3.1 Cygwin的下載 5
1.3.2 Cygwin的安裝 6
1.4 Android NDK的下載及配置 8
1.5 Cocos2d-x的下載及配置 9
1.6 Android項目的導入與創建 10
1.6.1 簡單案例HelloCocos2dX的導入與運行 10
1.6.2 Cocos2d案例導入後的相關修改 13
1.6.3 創建自己的Android項目 14
1.6.4 項目結構的介紹 18
1.7 iOS項目的創建及開發 19
1.7.1 iOS項目的創建 20
1.7.2 iOS項目的開發 22
1.8 本章小結 24
第 2章 千里之行,始於足下——Cocos2d-x基礎 25
2.1 Cocos2d-x中的一些基本概念 25
2.1.1 幾個重要的基本概念 25
2.1.2 導演類——Director 26
2.1.3 節點類——Node 28
2.1.4 兩個輔助類Point和Size 34
2.1.5 場景類——Scene 36
2.1.6 布景類——Layer 37
2.2 精靈類——Sprite 38
2.2.1 精靈類的基礎知識 38
2.2.2 精靈類簡單案例的開發 39
2.3 海量精靈的性能問題 43
2.3.1 一個創建海量精靈的案例 43
2.3.2 SpriteBatchNode類的基礎知識 45
2.3.3 用SpriteBatchNode類創建海量精靈的案例 46
2.4 Cocos2d-x中的基本控制項 47
2.4.1 基礎知識 47
2.4.2 一個簡單的案例 58
2.5 基本動作類 62
2.5.1 基礎知識 62
2.5.2 移動相關動作 63
2.5.3 自身變換相關動作 67
2.5.4 顏色變化相關動作 70
2.5.5 瞬時動作 72
2.5.6 組合動作 74
2.6 換幀精靈 77
2.6.1 相關類的基礎知識 77
2.6.2 一個簡單的案例 80
2.6.3 精靈幀緩衝相關類基礎知識 83
2.6.4 簡單案例的幀緩衝版 87
2.7 資源圖片的異步載入 88
2.7.1 基礎知識 88
2.7.2 一個簡單案例的開發 89
2.8 簡單的骨骼動畫 92
2.8.1 基本原理 92
2.8.2 一個簡單的案例 93
2.9 Scale9精靈 96
2.9.1 Scale9精靈基礎知識 96
2.9.2 一個簡單的案例 99
2.10 本章小結 101
第3章 讓你的遊戲更有吸引力——動作特效與場景切換特效 102
3.1 動作特效的使用 102
3.1.1 3D振動特效 102
3.1.2 3D瓦片振動特效 105
3.1.3 3D瓦片碎裂特效 106
3.1.4 爆炸特效 108
3.1.5 瓦片消失特效 109
3.1.6 3D瓦片跳躍特效 111
3.1.7 切開行特效 112
3.1.8 切開列特效 113
3.1.9 3D翻頁特效 115
3.1.10 3D波浪特效 116
3.1.11 3D瓦片波浪特效 118
3.1.12 3D魚眼特效 119
3.1.13 3D水波漣漪特效 120
3.1.14 流體特效 122
3.1.15 頂右淡出特效 123
3.1.16 底左淡出特效 125
3.1.17 向上淡出特效 126
3.1.18 向下淡出特效 127
3.1.19 3D繞x軸旋轉特效 129
3.1.20 3D繞y軸旋轉特效 130
3.1.21 可扭曲波浪特效 131
3.1.22 旋轉扭曲特效 133
3.2 百分比動作特效 135
3.2.1 百分比動作的基礎知識 135
3.2.2 ProgressTimer類的基礎知識 135
3.2.3 半徑模式特效 136
3.2.4 水平模式特效 138
3.2.5 垂直模式特效 139
3.3 場景切換特效的使用 141
3.3.1 場景切換特效概覽 141
3.3.2 跳躍切換特效 143
3.3.3 逆時針和順時針切換特效 143
3.3.4 水平和垂直切換特效 144
3.3.5 從內向外和從外向內切換特效 144
3.3.6 淡出和可變色淡出切換特效 145
3.3.7 翻頁切換特效 146
3.3.8 方向淡化切換特效 147
3.3.9 瓦片消失切換特效 148
3.3.10 列分割和行分割切換特效 148
3.3.11 繞定軸翻轉切換特效 148
3.3.12 可縮放繞指定軸翻轉切換特效 149
3.3.13 縮放和旋轉切換特效 150
3.3.14 下一場景移動覆蓋原場景切換特效 151
3.3.15 下一場景滑到出現切換特效 152
3.3.16 場景切換特效綜合案例 153
3.4 本章小結 159
第4章 更逼真的視覺效果——粒子系統 160
4.1 內置粒子系統的使用 160
4.1.1 內置粒子系統概覽 160
4.1.2 炙熱的太陽效果 163
4.1.3 焰火效果 165
4.1.4 火焰效果 166
4.1.5 星系效果 167
4.1.6 綻放效果 168
4.1.7 流星效果 170
4.1.8 螺旋效果 171
4.1.9 爆炸效果 172
4.1.10 煙霧效果 173
4.1.11 下雪效果 174
4.1.12 下雨效果 176
4.2 載入plist粒子系統 177
4.2.1 粒子設計器的使用 177
4.2.2 粒子系統的位置類型 180
4.2.3 載入plist檔案 180
4.3 本章小結 182
第5章 必知必會的開發技術——雜項 183
5.1 2D圖元的繪製 183
5.2 觸控及多點觸控 186
5.2.1 基礎知識 186
5.2.2 單點觸控的案例 188
5.2.3 多點觸控的案例 191
5.3 百納遊戲搖桿 195
5.3.1 基本知識 195
5.3.2 一個簡單的案例 196
5.4 重力感測器的使用 203
5.5 鍵盤事件的處理 206
5.6 用戶數據的存儲 208
5.7 聲音的播放 212
5.8 在Cocos2d-x中使用多執行緒 216
5.9 檔案輸入/輸出 219
5.10 網路功能的開發 222
5.10.1 連線HTTP網路伺服器 222
5.10.2 連線WebSocket伺服器 226
5.11 多解析度螢幕的自適應 230
5.11.1 非等比例縮放 230
5.11.2 等比例縮放並裁剪 231
5.11.3 等比例縮放並留白 232
5.11.4 Cocos2d-x中的實現 233
5.12 本章小結 234
第6章 絢麗的地圖設計——TMX瓦片地圖 235
6.1 正方形瓦片地圖 235
6.1.1 套用正方形瓦片地圖的實例 235
6.1.2 正方形地圖的基本原理 235
6.1.3 正方形地圖的特點 236
6.1.4 正方形地圖的實現原理 236
6.1.5 正方形瓦片地圖設計器 236
6.1.6 TMX瓦片地圖的相關類 241
6.2 正方形瓦片地圖案例 243
6.2.1 正方形地圖案例概覽 244
6.2.2 程式的總管AppDelegate類的開發 244
6.2.3 場景管理類TilesMapSimple SceneManager的開發 245
6.2.4 布景層類TilesMapSimpleLayer的開發 246
6.2.5 英雄精靈動畫的開發 248
6.2.6 控制英雄移動工具類DirectionUtil的開發 249
6.2.7 案例控制層類ControlLayer基本框架的搭建 250
6.2.8 案例控制層類ControlLayer中各控制方法的開發 251
6.3 正六邊形瓦片地圖 254
6.3.1 正六邊形地圖的原理及特點 254
6.3.2 正六邊形地圖的設計 256
6.3.3 正六邊形地圖的導入案例 258
6.4 正六邊形地圖的路徑搜尋 260
6.4.1 路徑搜尋示例基本框架的搭建 260
6.4.2 深度優先路徑搜尋算法DFS 267
6.4.3 深度優先路徑搜尋算法DFS的實現 268
6.4.4 廣度優先路徑搜尋算法BFS 274
6.4.5 廣度優先路徑搜尋算法BFS的實現 275
6.4.6 Dijkstra路徑搜尋算法 276
6.4.7 Dijkstra路徑搜尋算法的實現 277
6.4.8 用A*思想最佳化廣度優先路徑搜尋 282
6.4.9 用A*思想最佳化Dijkstra路徑搜尋 284
6.5 本章小結 285
第7章 遊戲開發的核心——Box2D物理引擎 286
7.1 物理引擎很重要 286
7.1.1 什麼是物理引擎 286
7.1.2 常見的物理引擎 286
7.2 2D的王 者Box2D 289
7.2.1 基本的物理學概念 289
7.2.2 Box2D中常用類的介紹 290
7.3 木塊金字塔被撞擊案例 301
7.3.1 案例運行效果 301
7.3.2 案例的基本框架結構 301
7.3.3 常量頭檔案——Constant頭檔案 302
7.3.4 物體類——PhyObject類 303
7.3.5 圓形物體類——CirclePhyObject類 304
7.3.6 矩形物體類——RectPhyObject類 305
7.3.7 多邊形物體類——PolygonObject類 306
7.3.8 場景類——Box2DSceneManager類 307
7.3.9 布景類——Box2DLayer類 308
7.4 簡易打磚塊案例 310
7.4.1 案例運行效果 310
7.4.2 需要了解的結構體與類 311
7.4.3 碰撞監聽器——MyContactListener類 314
7.4.4 布景類——Box2DLayer類 315
7.5 物體碰撞下落案例 316
7.5.1 案例運行效果 316
7.5.2 碰撞過濾器——b2ContactFilter類 317
7.5.3 碰撞過濾相關類的開發 317
7.5.4 布景類——Box2DLayer類 318
7.6 關節——Joint 319
7.6.1 關節定義——b2JointDef結構體 320
7.6.2 距離關節描述——b2DistanceJointDef結構體 320
7.6.3 距離關節案例——小球下擺 321
7.6.4 旋轉關節描述——b2RevoluteJointDef結構體 325
7.6.5 旋轉關節案例——轉動的風扇與蹺蹺板 325
7.6.6 滑鼠關節描述——b2MouseJointDef結構體 329
7.6.7 滑鼠關節案例——物體下落 329
7.6.8 移動關節描述——b2PrismaticJointDef結構體 333
7.6.9 移動關節案例——定向移動的木塊 334
7.6.10 齒輪關節描述——b2GearJointDef結構體 338
7.6.11 齒輪關節案例——轉動的齒輪 338
7.6.12 焊接關節描述——b2WeldJointDef結構體 342
7.6.13 焊接關節案例——有彈性的木板 342
7.6.14 滑輪關節描述——b2PulleyJointDef結構體 346
7.6.15 滑輪關節案例——移動的木塊 347
7.6.16 車輪關節描述——b2WheelJointDef結構體 350
7.6.17 車輪關節案例——運動的小車 351
7.6.18 繩索關節描述——b2RopeJointDef結構體 356
7.6.19 繩索關節案例——掉落的糖果 357
7.7 模擬傳送帶案例 361
7.7.1 案例運行效果 361
7.7.2 碰撞監聽器——MyContactListener類 361
7.7.3 布景類——Box2DLayer類 363
7.8 光線投射案例 365
7.8.1 案例運行效果 365
7.8.2 b2RayCastInput結構體與b2RayCastOutput結構體 365
7.8.3 光線檢測類——MyRayCast類 366
7.8.4 布景類——Box2DLayer類 368
7.9 模擬爆炸案例 370
7.9.1 案例運行效果 370
7.9.2 光線投射回調類——b2RayCastCallback類 371
7.9.3 自身的光線投射回調類——RayCastClosestCallback類 371
7.9.4 布景類——Box2DLayer類 371
7.10 LiquidFun流體物理引擎 374
7.10.1 LiquidFun流體物理引擎的相關知識 374
7.10.2 波浪製造機案例 377
7.10.3 軟體案例 381
7.11 本章小結 383
第8章 更加豐富的遊戲功能——擴展2D控制項 384
8.1 UI系列控制項 384
8.1.1 基礎知識 384
8.1.2 fnt字型檔的製作 393
8.1.3 幾個簡單的案例 394
8.2 Control系列控制項 406
8.2.1 基礎知識 406
8.2.2 幾個簡單的案例 410
8.3 EditBox控制項 414
8.3.1 基礎知識 414
8.3.2 一個簡單的使用案例 416
8.4 TableView控制項 419
8.4.1 基礎知識 419
8.4.2 表格控制項的使用案例 421
8.5 本章小結 425
第9章 開發遊戲的利器——Lua的使用 426
9.1 概述 426
9.2 Lua腳本語言簡介 427
9.2.1 簡易性 427
9.2.2 高效性 428
9.2.3 可擴展性 428
9.2.4 可移植性 428
9.3 Lua腳本語言的基本語法 429
9.3.1 數值與類型 429
9.3.2 表達式 430
9.3.3 語句 433
9.3.4 函式 436
9.4 使用Lua搭建場景的案例 438
9.5 使用Lua調用C++的案例 443
9.6 本章小結 446
第 10章 便捷的遊戲開發工具——CocoStudio 447
10.1 CocoStudio的下載及安裝 447
10.1.1 CocoStudio的下載 447
10.1.2 CocoStudio的安裝 448
10.2 動畫編輯器的使用及相關檔案的載入 449
10.2.1 用動畫編輯器製作骨骼動畫 449
10.2.2 用動畫編輯器製作換幀動畫 453
10.2.3 載入及使用動畫的相關知識 455
10.2.4 一個簡單案例的開發 457
10.3 控制項編輯器的使用及相關檔案的載入 460
10.3.1 控制項編輯器的使用 460
10.3.2 載入及使用控制項的相關知識 464
10.3.3 一個簡單案例的開發 465
10.4 場景編輯器的使用及相關檔案的載入 468
10.4.1 場景編輯器的使用 468
10.4.2 載入及使用場景的相關知識 472
10.4.3 一個簡單案例的開發 473
10.5 數據編輯器的使用及相關檔案的載入 475
10.5.1 數據編輯器的使用 475
10.5.2 數據獲取的相關知識 477
10.5.3 一個簡單案例的開發 478
10.6 本章小結 480
第 11章 綜合案例——讓子彈飛 481
11.1 遊戲的背景及功能概述 481
11.1.1 遊戲開發背景概述 481
11.1.2 遊戲功能簡介 481
11.2 遊戲的策劃及準備工作 483
11.2.1 遊戲的策劃 483
11.2.2 Android平台下遊戲開發的準備工作 484
11.3 遊戲的架構 486
11.3.1 各個類的簡要介紹 486
11.3.2 遊戲框架簡介 488
11.4 布景相關類 489
11.4.1 場景管理類BulletsSceneManager 489
11.4.2 歡迎布景類LoadLayer 490
11.4.3 選單布景類MenuLayer 493
11.4.4 排行榜布景類RankLayer 494
11.4.5 關於布景類AboutLayer 496
11.4.6 幫助布景類HelpLayer 497
11.4.7 遊戲布景類BulletsLayer 499
11.5 遊戲開發的輔助類 517
11.5.1 普通飛機輔助類NormalPlane 517
11.5.2 大飛機輔助類BigPlane 518
11.5.3 道具輔助類Property 518
11.6 工具及常量類 519
11.7 引擎引用入口類——AppDelegate 521
11.8 遊戲的最佳化及改進 523
第 12章 綜合案例——泡泡龍遊戲 524
12.1 遊戲的背景及功能概述 524
12.1.1 遊戲開發的背景概述 524
12.1.2 遊戲的功能介紹 525
12.2 遊戲的策劃及準備工作 527
12.2.1 遊戲的策劃 527
12.2.2 iOS平台下遊戲的準備工作 528
12.3 遊戲的架構 530
12.3.1 遊戲中各類的簡要介紹 530
12.3.2 遊戲的框架簡介 531
12.4 遊戲常量頭檔案——AppMacros 532
12.5 場景相關類 533
12.5.1 遊戲場景管理類——ShootBubbleSceneManager 534
12.5.2 主場景布景類——StartLayer 536
12.5.3 選關布景類——ChooseGKLayer 540
12.5.4 遊戲布景類——ShootBubbleLayer 543
12.5.5 幫助布景類——HelpLayer 567
12.5.6 排行榜布景類——JFBLayer 570
12.5.7 關於布景類——AboutUSLayer 573
12.6 引擎引用入口類——AppDelegate 575
12.7 遊戲的最佳化及改進 576
12.8 本章小結 576

熱門詞條

聯絡我們