近幾個世紀以來,電子科技成為了推動人類文明發展的主動力。它的每一次變革都會改變人們生活的方式,電子游戲作為其中的一個分支。本書的內容就是為讀者介紹Cocos2D-X游戲引擎。
本書共15章,主要內容有:Cocos2D-X引擎介紹;如何建立跨平台的開發環境;了解引擎的核心模塊—渲染框架;介紹如何將動態畫面,呈現給玩家等動作功能;用戶交互;二維游戲中背景的實現方法和技術;Box2D物理引擎;如何掌握聲音引擎的用法;介紹不同平台的文件系統帶來的差異,以及Cocos2D-X引擎是如何將避免這些差異的;Cocos2D-X引擎的內存管理機制;各種各樣的粒子效果;如何掌握利用Lua腳本制作游戲的能力;介紹Cocos2D-HTML5引擎版本;介紹引擎之外的附加功能;最后和讀者一起憧憬Cocos2D-X引擎的未來。
本書讀者主要有:喜歡游戲並懷揣夢想的有志青年;想成為移動平台游戲開發者的人;想抓住移動互聯網機遇,成就一番事業的人;具備其他平台游戲開發經驗的人;智能手機設備的用戶等。
劉劍卓,有點文藝的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 Dat
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 Dat
網路書店
類別
折扣
價格
-
新書87折$360