Cocos2D-X遊戲開發技術精解

Cocos2D-X遊戲開發技術精解

《Cocos2D-X遊戲開發技術精解》是劉劍卓創作的圖書。

基本介紹

  • 書名:Cocos2D-X遊戲開發技術精解
  • 作者:劉劍卓
  • ISBN:9787115314840
  • 定價:69.00元
作者介紹,作品目錄,

作者介紹

劉劍卓 有點文藝的IT男,會做美食的運動男,喜歡電影的80後。擁有八年的游
戲開發經驗,精通移動平台以及PC平台遊戲的開發,在過往的職業生涯已有
多款上線暢銷遊戲。擁有自主研發開發工具、引擎以及遊戲產品的能力,有應
用第三方先進引擎的開發經驗,熟練使用多種程式語言、腳本語言以及3D渲
染技術。熱衷於國內外遊戲行業狀況和國際技術潮流,關注移動網際網路以及游
戲領域的發展。

作品目錄

目 錄
第1章 Cocos2D-X引擎的介紹 1
1.1 何為遊戲引擎 1
1.1.1 遊戲的核心—引擎 1
1.1.2 引擎的特點 2
1.1.3 知名的引擎介紹 4
1.1.4 引擎的分類 5
1.2 Cocos2D-X引擎的來歷 8
1.3 引擎的版本 9
1.4 下載與安裝 10
1.5 引擎的組成 13
1.6 技術文檔 15
1.7 成功的遊戲 17
1.8 Cocos2D-X引擎的體系 18
1.9 Cocos2D-X引擎的著作權聲明 19
1.10 本章小結 20
第2章 Cocos2D-X引擎的 開發環境 21
2.1 跨平台的開發 21
2.2 建立開發環境 23
2.2.1 PC開發環境 23
2.2.2 Android開發環境 26
2.2.3 iOS開發環境 35
2.3 引擎中的混合編譯 38
2.3.1 Java與C++的混合編譯 38
2.3.2 Objective-C與C++的混合編譯 41
2.4 引擎的啟點 42
2.4.1 應用程式入口 43
2.4.2 引擎套用入口 44
2.5 豐富的示例程式 46
2.5.1 TestCpp示例項目 46
2.5.2 腳本示例項目 47
2.5.3 MoonWarriors示例項目 47
2.6 本章小結 48
第3章 引擎的核心——渲染框架 49
3.1 基本框架 50
3.1.1 引擎的位置 50
3.1.2 根源種子 51
3.1.3 子類結構 57
3.2 渲染框架 57
3.2.1 框架結構 58
3.2.2 攝像機類(CCCamera) 59
3.2.3 導演類(CCDirector) 59
3.2.4 場景類(CCScene) 62
3.2.5 圖層類(CCLayer) 64
3.2.6 精靈類(CCSprite) 68
3.2.7 精靈集合類(CCSpriteBatchNode) 72
3.2.8 精靈幀緩衝(CCSpriteFrameCache) 74
3.2.9 Zwoptex紋理編輯器 76
3.3 文字與字型 80
3.3.1 TTF類型標籤(CCLabelTTF) 81
3.3.2 BMFont標籤類(CCLabelBMFont) 84
3.3.3 Atlas標籤類(CCLabelAtlas) 87
3.4 選單按鈕 89
3.5 幾何繪製DrawPrimitives 94
3.6 CocosBuilder編輯器 95
3.6.1 CocosBuilder使用指南 95
3.6.2 引擎中的套用 97
3.7 本章小結 98
第4章 動作功能 100
4.1 概述 100
4.2 動作基類 101
4.2.1 動作類的繼承關係 102
4.2.2 動作基類CCAction的成員函式 102
4.2.3 類CCNode中與動作有關的函式 104
4.3 時間動作 105
4.3.1 及時動作 105
4.3.2 持續動作 109
4.4 組合動作類 116
4.4.1 序列動作類(CCSequence) 116
4.4.2 同步動作類(CCSpawn) 118
4.4.3 重複動作類(CCRepeat & CCRepeatForever) 119
4.5 可變速度類(CCEaseAction) 120
4.5.1 CCEaseIn、CCEaseOut和CCEaseInOut 122
4.5.2 EaseSineIn、EaseSineOut和EaseSineInOut 124
4.5.3 CCEaseBackIn、CCEaseBackOut和CCEaseBackInOut 124
4.5.4 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut 125
4.5.5 CCEaseBounceIn、CCBounceOut和CCBounceInOut 125
4.5.6 CCEaseElasticIn、CCEaseElasticOut和CCEaseElasticInOut 125
4.6 速度類(CCSpeed) 125
4.7 延遲動作類(CCDelay) 127
4.8 跟隨動作類(CCFollow) 128
4.9 擴展動作類 129
4.9.1 概述 129
4.9.2 翻頁動作(CCPageTurn3D) 130
4.9.3 波紋動作(CCWaves3D) 130
4.9.4 格子動作類(CCGridAction) 131
4.10 動畫動作類 132
4.10.1 精靈幀 133
4.10.2 精靈幀緩衝 134
4.10.3 動畫類 135
4.10.4 動畫動作 136
4.11 動畫編輯器 136
4.11.1 概述 136
4.11.2 CocosBuilder編輯器中的精靈動畫 137
4.11.3 SpriteX草莓編輯器 138
4.11.4 MotionWelder動畫編輯器 139
4.12 樣例程式 141
4.13 本章小結 143
第5章 用戶互動 147
5.1 概述 147
5.2 玩家互動信息 149
5.3 觸摸操作的處理機制 149
5.4 接收操作 153
5.5 分發機制 154
5.6 處理回響 157
5.7 多點觸碰 159
5.8 加速計的回響函式 161
5.9 本章小結 162
第6章 遊戲背景 164
6.1 概述 164
6.2 2D遊戲背景的類型 164
6.3 磚塊地圖編輯器 166
6.3.1 地圖編輯器概述 167
6.3.2 Tile Map Editor(磚塊地圖編輯器) 168
6.3.3 製作一張遊戲地圖 170
6.3.4 編輯器中的屬性功能 172
6.4 磚塊地圖Tile Map 173
6.5 地圖數據的格式 175
6.5.1 編輯器導出的檔案 175
6.5.2 地圖檔案分析 176
6.6 磚塊地圖的實現 178
6.6.1 磚塊地圖類CCTMXTiledMap 179
6.6.2 地圖圖層類CCTMXLayer 181
6.6.3 地圖物體層CCTMXObjectGroup 183
6.7 示例項目 184
6.8 背景的滾動與角色移動 186
6.9 多層背景滾動效果 188
6.10 本章小結 190
第7章 物理模擬與碰撞檢測 192
7.1 概述 192
7.2 遊戲中的碰撞檢測 193
7.3 碰撞檢測的方法 194
7.3.1 平面幾何在碰撞檢測中的套用 194
7.3.2 物體的包圍盒 197
7.3.3 AABB碰撞檢測技術 198
7.4 基本物理知識 199
7.5 你好!Box2D! 201
7.5.1 概述 201
7.5.2 物理世界 202
7.5.3 遊戲中的兩個世界 202
7.6 Box2D的基礎知識 203
7.6.1 概述 204
7.6.2 概念定義 204
7.6.3 物理引擎的模組 205
7.7 引 擎 內 核 205
7.7.1 基本配置 206
7.7.2 記憶體管理機制 207
7.7.3 工廠模式 208
7.7.4 數據單位 208
7.7.5 用戶數據 209
7.8 物理世界World 210
7.8.1 創建和摧毀一個世界 210
7.8.2 讓世界運轉起來 211
7.8.3 探索世界 212
7.8.5 AABB查詢 213
7.8.6 光線投射(Ray Casts) 214
7.9 形狀Shapes 216
7.9.1 碰撞模組 216
7.9.2 形狀Shape的作用 216
7.9.3 圓形(Circle Shapes) 216
7.9.4 多邊形(b2PolygonShape) 217
7.10 框架Fixtures 218
7.10.1 動態模組(Dynamics Module) 219
7.10.2 框架(Fixtures) 219
7.10.3 密度(Density) 219
7.10.4 摩擦(Friction) 220
7.10.5 恢復(Restitution) 220
7.10.6 篩選(Filtering) 220
7.10.7 感應器(Sensors) 221
7.11 物體Bodies 222
7.11.1 物體定義 222
7.11.2 位置和角度(Position and Angle) 223
7.11.3 阻尼(Damping) 223
7.11.4 休眠參數(Sleep Parameters) 224
7.11.5 固定旋轉(Fixed Rotation) 224
7.11.6 子彈(Bullets) 224
7.11.7 活動狀態(Activation) 225
7.11.8 用戶數據(User Data) 226
7.12 關節(Joints) 226
7.12.1 關節的定義(JointDef) 226
7.12.2 關節的屬性 227
7.12.3 距離關節(Distance Joint) 228
7.12.4 旋轉關節(Revolute Joint) 229
7.12.5 移動關節(Prismatic Joint) 230
7.12.6 滑輪關節(Pulley Joint) 231
7.12.7 齒輪關節(Gear Joint) 232
7.12.8 滑鼠關節(Mouse Joint) 234
7.12.9 線性關節(Line Joint) 235
7.12.10 焊接關節(Weld Joint) 235
7.13 接觸(Contants) 235
7.13.1 概述 236
7.13.2 接觸類(Contact Class) 237
7.13.3 訪問接觸(Accessing Contacts) 237
7.13.4 接觸監聽器(Contact Listener) 238
7.13.5 接觸篩選(Contact Filtering) 240
7.14 示例項目 241
7.14.1 Box2dTest示例項目 241
7.14.2 調試繪圖DebugDraw 243
7.14.3 創建精靈剛體 244
7.15 本章小結 246
第8章 遊戲中的聲音 249
8.1 概述 249
8.2 音樂與音效 250
8.3 聲音格式 250
8.4 CocosDenshion聲音模組 252
8.5 背景音樂操作函式 253
8.6 聲音音效操作函式 255
8.7 示例程式 256
8.8 本章小結 259
第9章 檔案操作模組 261
9.1 概述 261
9.2 引擎檔案操作模組 261
9.3 讀取檔案 263
9.4 寫入檔案 267
9.5 遊戲中用戶數據 269
9.5.1 遊戲中的用戶數據 269
9.5.2 用戶數據的基本類型 270
9.5.3 讀取與寫入操作 271
9.6 示例程式 272
9.7 本章小結 274
第10章 記憶體管理機制 277
10.1 記憶體管理概述 277
10.2 引用計數 278
10.3 自動釋放池 280
10.3.1 使用方法 280
10.3.2 實現原理 281
10.4 管 理 模 式 284
10.4.1 引擎當中的套用 284
10.4.2 緩衝區 285
10.5 日誌調試方式 286
10.6 本章小結 288
第11章 粒子系統 290
11.1 概述 290
11.2 粒子效果 291
11.3 粒子系統的來歷 292
11.4 引擎當中的粒子系統 293
11.5 粒子的生命周期 294
11.6 粒子的屬性 295
11.7 粒子發射器屬性 296
11.7.1 發射器共有的屬性 296
11.7.2 重力發射器模式(Gravity) 304
11.7.3 半徑發射器模式(Radius) 306
11.8 粒子效果編輯器 307
11.8.1 概述 308
11.8.2 Particle Designer的使用方法 308
11.8.3 引擎中套用 310
11.9 本章小結 312
第12章 Lua腳本語言 314
12.1 概述 314
12.2 Lua腳本語言簡介 315
12.3 為什麼需要它? 316
12.3.1 簡易性 316
12.3.2 可擴展性 316
12.3.3 高效性 317
12.3.4 可移植性 317
12.4 Lua腳本語言的語法 318
12.4.1 類型與數值 318
12.4.2 表達式 320
12.4.3 語句 322
12.4.4 函式 326
12.5 Lua在引擎中的套用 328
12.5.1 Lua與C/C++ 328
12.5.2 引擎中的腳本引擎 329
12.6 樣例程式 331
12.6.1 腳本引擎初始化 332
12.6.2 遊戲內容的實現腳本 333
12.6.3 農場層的實現 334
12.6.4 選單層的實現 337
12.7 本章小結 338
第13章 Cocos2D-HTML5引擎版本 340
13.1 概述 340
13.2 HTML的發展史 341
13.2.1 HTML版本 341
13.2.2 XHTML版本 342
13.2.3 HTML5是未來之星 342
13.3 HTML5新特性 342
13.3.1 跨平台的特性 343
13.3.2 Canvas API 343
13.3.3 WebGL 344
13.3.4 其他特性 345
13.4 JavaScript語言基礎 346
13.4.1 概述 346
13.4.2 變數 347
13.4.3 數據類型 348
13.4.4 運算符 348
13.4.5 語句 351
13.4.6 對象 352
13.4.7 函式 353
13.4.8 事件 354
13.5 Cocos2d-HTML5引擎 356
13.5.1 HTML5版本介紹 356
13.5.2 安裝引擎 357
13.5.3 示例程式 357
13.5.4 引擎的架構 360
13.6 JS Binding技術的實現 362
13.6.1 概述 362
13.6.2 SpiderMonkey 362
13.6.3 示例程式 363
13.7 本章小結 364
第14章 引擎之外的附加功能 366
14.1 概述 366
14.2 網路通訊支持 367
14.2.1 HTTP介紹 367
14.2.2 curl庫(libcurl) 368
14.2.3 HTTP在引擎中的套用 368
14.2.4 HTTP示例項目 372
14.2.5 Socket的介紹 376
14.2.6 BSD Socket在引擎中的套用 378
14.3 收費模式 379
14.3.1 下載計費 379
14.3.2 內置計費 380
14.3.3 廣告版本 380
14.4 社交網路在遊戲中的套用 381
14.4.1 Game Center 382
14.4.2 OpenFeint 384
14.5 數據分析 385
14.5.1 Flurry介紹 386
14.5.2 友盟 390
第15章 Cocos2D-X引擎的未來 391
15.1 概述 391
15.2 Cocos2D引擎的走勢 391
15.3 Cocos2D-X引擎的不足 392
15.3.1 豐富的UI 393
15.3.2 完善的工具 393
15.3.3 支持網路通迅 395
15.3.4 版本的統一 395
15.3.5 數據安全 396
15.4 Cocos2D-X引擎增強的功能 396
15.4.1 良好的中文支持 397
15.4.2 遊戲基本框架 397
15.4.3 遊戲邏輯支持 398
15.4.4 腳本化編程 399
15.4.5 可視化的操作界面 400
15.5 會不會有Cocos3D? 401
15.6 本章小結 403

相關詞條

熱門詞條

聯絡我們