《Cocos2d-x 3.x遊戲開發實戰(含CD光碟1張)》是2015年1月電子工業出版社出版的圖書,作者是肖文吉。
基本介紹
- 書名:Cocos2d-x 3.x遊戲開發實戰(含CD光碟1張)
- 作者:肖文吉
- 出版社:電子工業出版社
- 出版時間:2015年1月
- 頁數:564 頁
- 定價:88 元
- 開本:16 開
- ISBN:9787121246890
內容簡介,圖書目錄,
內容簡介
本書是一本介紹Cocos2d-x遊戲引擎的實用圖書,全面介紹了最新的Cocos2d-x 3.2遊戲引擎各方面的知識。 本書從內容層次上可分為四個部分。第一部分介紹了遊戲開發的基礎知識、遊戲引擎概念、Cocos2d-x的下載與安裝,以及跨平台開發環境的搭建。第二部分介紹了Cocos2d-x中的核心類、動作、動畫、3D特效、文字、字型、選單、事件處理、UI控制項、聲音和數據存儲等知識。第三部分介紹了Cocos2d-x的粒子系統、Tile地圖、最新的物理引擎、記憶體管理機制。最後一部分詳細介紹了Cocos2d-x官方提供的遊戲開發工具Cocos Studio。 本書針對每一個知識點都通過相應的程式給出了示範,並結合Cocos2d-x自帶的cpp-tests實例進行講解,在總結一些知識點之後還開發了一些小遊戲,目的是讓讀者全面掌握Cocos2d-x的基礎理論和基本使用。
圖書目錄
第1章 Cocos2d-x遊戲引擎介紹 1
1.1 什麼是遊戲引擎 2
1.2 Cocos2d遊戲引擎 2
1.2.1 Cocos2d的發展 2
1.2.2 Cocos2d的特點 4
1.2.3 Cocos2d的現在和未來 4
1.3 Cocos2d-x遊戲引擎 4
1.3.1 選擇Cocos2d-x的理由 5
1.3.2 Cocos2d-x的主要功能 6
1.3.3 Cocos2d-x 3.0版本的各語言最佳化 7
1.3.4 Cocos2d-x 3.0的新特性 8
1.3.5 使用了Cocos2d-x的遊戲 10
1.4 本章小結 11
第2章 跨平台開發環境的搭建 12
2.1 搭建iOS下的開發環境 13
2.1.1 Cocos2d-x的安裝與配置 14
2.1.2 Cocos2d-x項目結構和代碼分析 15
2.2 搭建Windows下的開發環境 25
2.2.1 Cocos2d-x的安裝與配置 25
2.2.2 Cocos2d-x工程目錄和代碼分析 27
2.3 搭建Android下的開發環境 29
2.3.1 軟體的安裝與環境變數配置 30
2.3.2 構建Cocos2d-x工程 31
2.3.3 在Eclipse下運行程式 32
2.4 本章小結 34
第3章 Cocos2d-x的核心類 35
3.1 節點類(Node) 36
3.1.1 Node類的成員變數 36
3.1.2 Node類的函式 38
3.1.3 坐標系 41
示例:測試錨點——AnchorPointTest 43
示例:測試Node類的常用函式——NodeTest 45
3.2 場景類(Scene) 48
3.2.1 TransitionScene場景切換 48
3.2.2 Cocos2d-x支持的場景過渡效果 48
3.3 層類(Layer) 50
3.3.1 Layer類的常用成員變數 50
3.3.2 Layer類的常用函式 50
3.4 導演類(Director) 51
3.4.1 Director導演類常用的成員變數 51
3.4.2 Director導演類常用的函式 52
3.4.3 Director導演類在遊戲初始化時的使用分析 53
3.5 精靈類(Sprite) 54
3.5.1 紋理的相關概念 54
3.5.2 Sprite精靈類的常用成員變數 55
3.5.3 Sprite精靈類的常用函式 55
示例:測試Sprite類的常用函式——SpriteTest 57
3.5.4 SpriteFrame精靈幀類 59
3.5.5 SpriteFrameCache精靈幀快取類 60
3.5.6 SpriteBatchNode精靈表單類 60
示例:測試SpriteFrameCacheTest精靈幀快取類——SpriteFrameCacheTest 62
3.5.7 製作精靈表單 64
示例:測試自己製作的精靈表單——SpriteSheetTest 67
3.6 Cocos2d-x 3.0新的數據結構 68
3.6.1 cocos2d::Vector<T> 69
示例:測試cocos2d::Vector<T>類的常用函式——VectorTest 70
3.6.2 cocos2d::Map<K,V> 73
示例:測試cocos2d::Map<K,V>類的常用函式——MapTest 74
3.6.3 cocos2d::Value 76
示例:測試cocos2d::Value類的常用函式——ValueTest 77
3.7 本章小結 79
第4章 Cocos2d-x的動作和動畫 80
4.1 動作基類Action 81
4.1.1 Action類的常用成員變數 82
4.1.2 Action類的常用函式 82
4.1.3 Action類的子類 82
4.2 示例:測試基本動作——ActionBasicTest 84
4.2.1 顯示、隱藏、閃爍動作 85
4.2.2 淡入淡出動作 87
4.2.3 色彩值漸變動作 89
4.2.4 移動動作 92
4.2.5 跳躍動作 95
4.2.6 縮放動作 98
4.2.7 旋轉動作 101
4.3 示例:測試組合動作——ActionCombinationTest 104
4.4 示例:測試可變速度動作——ActionEaseTest 108
4.4.1 EaseIn、EaseOut和EaseInOut 109
4.4.2 EaseSineIn、EaseSineOut和EaseSineInOut 111
4.4.3 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut 111
4.4.4 EaseBounceIn、EaseBounceOut和EaseBounceInOut 112
4.4.5 EaseElasticIn、EaseElasticOut和EaseElasticInOut 112
4.5 示例:測試速度動作——ActionSpeedTest 112
4.6 示例:測試跟隨動作——ActionFollowTest 114
4.7 示例:測試延遲動作——ActionDelayTest 116
4.8 示例:測試函式回調動作——ActionCallFuncTest 117
4.9 Cocos2d-x中與動畫相關的類 122
4.10 示例:英雄舞劍動畫 124
4.11 示例:殭屍走路動畫 125
4.12 示例:使用動畫幀緩衝實現動畫 127
4.13 示例:製作精靈表單實現動畫 129
4.14 Cocos2d-x新增的3D特性fbv-conv的用法 132
4.15 示例:Sprite3D創建3D精靈 133
4.16 示例:Animation3D創建3D動畫 135
4.17 本章小結 137
第5章 Cocos2d-x的文本渲染系統和選單 138
5.1 文本渲染相關的類 138
5.2 TTF類型標籤LabelTTF 139
示例:測試LabelTTF類——LabelTTFTest 139
5.3 BMFont標籤類LabelBMFont 141
示例:測試LabelBMFont類——LabelBMFontTest 143
5.4 Atlas標籤類LabelAtlas 144
示例:測試LabelAtlas類——LabelAtlasTest 145
5.5 Cocos2d-x新增的標籤類Label 147
示例:測試Label類——LabelTest 148
5.6 選單類Menu 150
5.7 選單項MenuItem和常用子類 151
5.7.1 標籤選單項(MenuItemLabel) 151
5.7.2 自定義字型選單項(MenuItemAtlasFont) 152
5.7.3 字型選單項(MenuItemFont) 152
5.7.4 精靈選單項(MenuItemSprite) 152
5.7.5 圖片選單項(MenuItemImage) 152
5.7.6 觸發器選單項(MenuItemToggle) 153
示例:測試選單——MenuTest 153
5.8 本章小結 157
第6章 Cocos2d-x的事件處理機制 158
6.1 事件處理機制 158
6.1.1 接收數據(Touch) 159
6.1.2 分發事件(EventDispatcher) 160
6.1.3 處理回響(EventListener) 161
6.2 觸摸事件 162
6.2.1 單點觸摸事件(EventListenerTouchOneByOne) 162
示例:場景優先事件監聽——TouchOneByOneTest 162
示例:滑動螢幕選擇選單——TouchOneByOneTest 167
示例:固定值優先事件監聽——TouchPriorityTest 172
6.2.2 多點觸摸事件(EventListenerTouchAllAtOnce) 176
示例:多點觸摸(縮放功能的實現)——TouchAllAtOnceTest 176
6.3 加速度計事件(EventListenerAcceleration) 180
示例:滾動的小球——AccelerometerTest 180
6.4 按鍵事件(EventListenerKeyboard) 184
6.5 滑鼠事件(EventListenerMouse) 184
6.6 自定義事件(EventListenerCustom) 185
示例:自定義事件處理——CustomTest 186
6.7 本章小結 188
第7章 Cocos2d-x的常用控制項 189
7.1 Cocos2d-x的控制項 189
7.1.1 按鈕類ControlButton 191
示例:測試按鈕——ControlButtonTest 192
7.1.2 拖動滑塊類ControlSlider 196
示例:測試拖動滑塊——ControlSliderTest 196
7.1.3 開關按鈕類ControlSwitch 198
示例:測試開關按鈕——ControlSwitchTest 199
7.2 Cocos Studio中的UI控制項 201
7.2.1 Widget(所有UI控制項的父類) 202
7.2.2 Button(按鈕) 205
示例:測試UI控制項——UITest 205
7.2.3 Text(文本) 211
7.2.4 TextField(文本框) 213
7.2.5 CheckBox(複選框) 217
7.2.6 ImageView(圖片) 219
7.2.7 LoadingBar(進度條) 221
7.2.8 Slider(滑動條) 223
7.2.9 Layout(布局容器) 225
7.2.10 ScrollView(滾動層容器) 231
7.2.11 ListView(列表層容器) 235
7.2.12 PageView(分頁層容器) 238
7.3 本章小結 241
第8章 Cocos2d-x的聲音系統和數據存儲 242
8.1 聲音系統 242
8.1.1 背景音樂和聲音特效 242
8.1.2 CocosDenshion庫 243
8.1.3 SimpleAudioEngine類 243
示例:背景音樂和音效控制——SimpleAudioEngineTest 245
8.2 數據存儲 255
8.2.1 UserDefault類 255
示例:用戶數據存儲測試——UserDefaultTest 257
8.3 本章小結 260
第9章 射擊類遊戲:瘋狂打飛機 261
9.1 遊戲簡介 261
9.2 添加遊戲選單 262
9.3 預載入遊戲資源 268
9.4 玩家飛機飛行效果 273
9.5 玩家飛機Touch實現 276
9.6 背景滾動效果 278
9.7 添加敵機 280
9.8 玩家飛機發射子彈 284
9.9 背景音樂和積分統計 288
9.10 遊戲大Boss 290
9.11 本章小結 296
第10章 粒子系統 297
10.1 粒子系統相關的類 297
10.1.1 ParticleSystem類 297
10.1.2 ParticleSystemQuad類 303
10.1.3 ParticleBatchNode類 303
10.2 粒子系統的使用 303
示例:使用內置的粒子系統——ParticleEffectTest 305
示例:自己定製粒子系統——MyParticleTest 306
10.3 使用Particle Designer工具製作粒子 310
示例:使用plist檔案創建粒子系統——ParticleDesignerTest 312
示例:休閒類遊戲——瘋狂打地鼠 313
10.4 本章小結 337
第11章 瓦片地圖 338
11.1 下載和安裝Tiled地圖編輯器 338
11.2 使用Tiled繪製地圖 339
11.3 Tiled地圖相關的類 345
11.3.1 TMXTiledMap類 345
11.3.2 TMXLayer類 346
11.3.3 TMXObjectGroup類 347
示例:使用Tiled地圖——TileMapTest 348
11.4 本章小結 353
第12章 真實手遊:萌仙 354
12.1 設計地圖場景 354
12.2 載入地圖 355
12.3 地圖的移動 358
12.4 遮擋效果和設定障礙物 362
12.5 尋路算法 365
12.6 隨機出現怪物 375
12.7 玩家和怪物進行戰鬥 380
12.8 本章小結 388
第13章 Cocos2d-x的物理引擎 389
13.1 物理引擎概述 389
13.2 Box2D的核心概念 390
13.3 Box2D中常用的屬性和函式 393
13.4 Box2D示例項目分析 394
13.5 Cocos2d-x和Box2D的整合開發 402
13.6 Box2D開發步驟 404
13.7 Cocos2d-x 3.0中的物理引擎 405
13.7.1 PhysicsWorld類 405
13.7.2 PhysicsBody類 406
13.7.3 PhysicsShape類 408
13.8 使用3.0的物理引擎開發項目 409
示例:測試3.0新增的物理引擎——PhysicsTest 409
13.9 益智類遊戲:憤怒的小鳥 412
13.9.1 開始前的準備工作 412
13.9.2 進度條製作 412
13.9.3 遊戲中的粒子效果 415
13.9.4 遊戲選關操作 420
13.9.5 設計關卡數據 425
13.9.6 設計精靈類 428
13.9.7 遊戲主界面 431
13.9.8 彈弓發射小鳥 435
13.9.9 物理引擎 441
13.9.10 物理碰撞 445
13.9.11 遊戲過關設計 448
13.10 本章小結 452
第14章 Cocos2d-x的記憶體管理 454
14.1 記憶體管理概述 454
14.2 手動記憶體管理 455
14.2.1 對象的引用計數 455
14.2.2 對象所屬權 458
14.2.3 函式中的保留和釋放 461
14.2.4 使用自動釋放池 462
14.2.5 手動記憶體管理總結 465
14.3 自動釋放池 465
14.3.1 Ref的引用計數 465
14.3.2 AutoreleasePool自動釋放池 468
14.3.3 PoolManager自動釋放池管理器 471
14.3.4 create函式 474
14.4 本章小結 476
第15章 塔防類遊戲:保衛公主 477
15.1 設計關卡地圖場景 477
15.2 遊戲選單 479
15.3 選擇關卡 482
15.4 載入關卡數據 489
15.5 準備進入遊戲 497
15.6 隨機出現怪物 503
15.7 建造炮塔 508
15.8 旋轉炮塔 511
15.9 檢測碰撞 515
15.10 遊戲結束 517
15.11 本章小結 520
第16章 Cocos Studio 521
16.1 Cocos Studio概述 521
16.2 Cocos Studio安裝 521
16.3 Cocos Studio特性 523
16.4 Cocos Studio界面 523
16.4.1 界面布局 523
16.4.2 起始頁面 524
16.4.3 渲染面板 524
16.4.4 動畫幀面板 525
16.4.5 屬性面板 526
16.4.6 資源面板 526
16.4.7 控制項面板 527
16.4.8 快捷工具面板 527
16.5 UI編輯器的使用 528
示例:測試UI編輯器——CocosStudioTest 528
16.5.1 按鈕和文本框控制項 528
16.5.2 進度條控制項 535
16.5.3 滑動條控制項 537
16.5.4 層容器控制項 539
16.5.5 滾動層容器控制項 540
16.5.6 分頁層容器控制項 543
16.5.7 UI動畫製作 545
16.6 本章小結 549
附錄 Cocos2d-x中常用的宏 550