Cocos2d-x完全掌握 C API與遊戲項目開發

Cocos2d-x完全掌握 C API與遊戲項目開發

《Cocos2d-x完全掌握 C++ API與遊戲項目開發》 作者關東升、趙志榮,清華大學出版社出版。

內容簡介

本書系統論述了Cocos2dx遊戲編程和開發技術,內容涵蓋Cocos2dx中核心類、數據結構、瓦片地圖、物理引擎、Audio引擎、記憶體管理等知識。全書分為17章,各章內容為: 本書約定、Cocos2dx環境搭建、Cocos2dx引擎、遊戲中的文字、Cocos2dx中的數據結構、選單、精靈、場景與層、動作和動畫、用戶事件、Audio引擎、粒子系統、瓦片地圖、物理引擎、記憶體管理、Cocos2dx多解析度螢幕適配和Cocos2dx敏捷開發項目實戰——迷失航線手機遊戲。 本書適合作為普通高校計算機、動漫設計、數字媒體等相關專業的遊戲開發課程的教材,也適合作為手機遊戲開發培訓機構的培訓教材及廣大手機遊戲開發者的自學參考用書。

作者簡介

趙志榮資深技術講師,移動開發技術顧問。擁有多年的Androjd和iPhone開發經驗,曾參與大型網路遊戲《神農訣》的iOS和Android客戶端開發,iPhone手機充值套用系統等多款Android、iPhone和iPad套用軟體。

著有《iPhone與iPad開發實戰》《And roid開發案例驅動教程》《Android網路遊戲開發實戰》等圖書,並錄製出版了《And roid實訓l項目視頻教程》。曾為銀河、CSTP、安博和萬博等機構提供培訓l,為華中科技大學、西安交通大學、中南大學、長春大學和吉林化工大學等多所院校提供高校實訓l.為中國移動、深圳施愛德等公司提供企業內訓l.

關東升國內著名iOS/COCOS技術作家,iOS技術顧問,Cocos*有價值專家(CVP),智捷課堂首席培訓l專家。

擔任51CTO社區iOS技術顧問,精通iOS、Android、WindOWS及HTML5等移動開發技術。曾先後主持大型網路遊戲《神農訣》的客戶端開發、農產品追溯系統的客戶端開發、酒店預訂系統的客戶端開發、金融系統的客戶端開發。擅長移動平台的套用和遊戲類項目開發,在AppStore上發布數款遊戲和套用軟體。長期為中國移動研究院、方正科技、大唐電信、中國石油、中國工商銀行、南方航空、惠普、東軟、NTT等單位提供技術諮詢及員工培訓。著有多部移動開發暢銷書:

《iOS開發指南》《Swift開發指南》《iOS網路編程與雲端套用最佳實踐》《iOS感測器套用開發最佳實踐》《iOS圖形圖像、動畫和多媒體編程技術最佳實踐》

《iPhone與iPad開發實戰》《品味移動設計》《互動設計的藝術》《Cocos2d.x實戰:C++卷》《Cocos2d一×實戰:JS卷》《Cocos2d.x實戰:Lua卷》《Cocos2d.×實戰:工具卷》等。

圖書目錄

叢書序3

序5

前言7

學習說明9

第1章本書約定

1.1使用實例代碼

1.2圖示的約定

1.2.1圖中的箭頭

1.2.2圖中的手勢

1.2.3圖中的圈框

1.3書中的UML圖

1.3.1類圖

1.3.2時序圖

第2章Cocos2dx環境搭建

2.1下載Cocos2dx

2.2搭建環境

2.2.1基本工具安裝

2.2.2設定環境變數

2.3開發Cocos2dx遊戲的IDE工具

2.3.1使用Visual Studio開發工具

2.3.2使用Xcode開發工具

本章小結

第3章Cocos2dx引擎

3.1Cocos2d家譜

3.2Cocos2dx設計目標

3.3個Cocos2dx遊戲

3.3.1創建工程

3.3.2Visual Studio工程檔案結構

3.3.3Xcode工程檔案結構

3.3.4代碼解釋

3.3.5Win32平台下設定螢幕

3.3.6工程中添加資源檔案

3.4Cocos2dx核心概念

3.4.1導演

3.4.2場景

3.4.3層

3.5Node與Node層級架構

3.5.1Node中的重要操作

3.5.2Node中的重要屬性

3.5.3遊戲循環與調度

3.6Cocos2dx坐標系

3.6.1UI坐標

3.6.2OpenGL坐標

3.6.3世界坐標和模型坐標

本章小結

第4章遊戲中的文字

4.1Cocos2dx中的字元串

4.1.1使用const char*和std::string

4.1.2使用cocos2d::String

4.1.3Win32平台下的中文亂碼問題

4.2使用標籤

4.2.1使用Label類

4.2.2標籤中文無法正常顯示的問題

4.3點陣圖字型製作

4.3.1Glyph Designer工具

4.3.2使用Glyph Designer製作點陣圖字型

本章小結

第5章Cocos2dx中的數據結構

5.1Cocos2dx中兩大類——Ref和Value

5.1.1Cocos2dx根類——Ref

5.1.2包裝類Value

5.2Ref列表數據結構

5.2.1Array數據結構

5.2.2實例: Array數據結構

5.2.3Vector 數據結構

5.2.4實例: Vector數據結構

5.3Ref字典數據結構

5.3.1Dictionary數據結構

5.3.2實例: Dictionary數據結構

5.3.3Map 數據結構

5.3.4實例: Map 數據結構

5.4Value列表數據結構——ValueVector

5.4.1ValueVector常用API

5.4.2實例: 使用ValueVector數據結構

5.5Value字典數據結構——ValueMap和ValueMapIntKey

5.5.1ValueMap和ValueMapIntKey常用API

5.5.2實例: 使用ValueMap數據結構

本章小結

第6章選單

6.1選單相關類

6.2文本選單

6.3精靈選單和圖片選單

6.4開關選單

本章小結

第7章精靈

7.1Sprite精靈類

7.1.1創建Sprite精靈對象

7.1.2實例: 使用紋理對象創建Sprite對象

7.2精靈的性能最佳化

7.2.1使用紋理圖集

7.2.2使用精靈幀快取

7.3紋理圖集製作

7.3.1TexturePacker工具

7.3.2使用TexturePacker製作紋理圖集

本章小結

第8章場景與層

8.1場景與層的關係

8.2場景切換

8.2.1場景切換相關函式

8.2.2場景過渡動畫

8.3場景的生命周期

8.3.1生命周期函式

8.3.2多場景切換生命周期

本章小結

第9章動作和動畫

9.1基本動作

9.1.1瞬時動作

9.1.2間隔動作

9.1.3組合動作

9.1.4動作速度控制

9.1.5函式調用

9.2特效

9.2.1格線動作

9.2.2實例: 特效演示

9.3動畫

9.3.1幀動畫

9.3.2實例: 幀動畫使用

本章小結

第10章用戶事件

10.1事件處理機制

10.1.1事件分發器

10.1.2觸摸事件

10.1.3實例: 單點觸摸事件

10.1.4實例: 使用Lambda表達式

10.1.5鍵盤事件

10.1.6滑鼠事件

10.2在層中進行事件處理

10.2.1觸摸事件

10.2.2實例: 單點觸摸事件

10.3加速度計與加速度事件

10.3.1加速度計

10.3.2使用事件分發器

10.3.3使用層加速度計事件

10.3.4實例: 運動的小球

本章小結

第11章Audio引擎

11.1Cocos2dx中音頻檔案

11.1.1音頻檔案介紹

11.1.2Cocos2dx跨平台音頻支持

11.2使用Audio引擎

11.2.1音頻檔案的預處理

11.2.2播放背景音樂

11.2.3停止播放背景音樂

11.2.4背景音樂播放暫停與繼續

11.3實例: 設定背景音樂與音效

11.3.1AppDelegate實現

11.3.2HelloWorld場景實現

11.3.3設定場景實現

本章小結

第12章粒子系統

12.1問題的提出

12.2粒子系統基本概念

12.2.1實例: 打火機

12.2.2粒子發射模式

12.2.3粒子系統屬性

12.3Cocos2dx內置粒子系統

12.3.1內置粒子系統

12.3.2實例: 內置粒子系統

12.4自定義粒子系統

12.4.1代碼創建

12.4.2plist檔案創建

12.5粒子系統設計工具Particle Designer

12.5.1粒子設定面板

12.5.2使用分享案例

12.5.3粒子的輸出

本章小結

第13章瓦片地圖

13.1地圖性能問題

13.2Cocos2dx中瓦片地圖API

13.3使用Tiled地圖編輯器

13.3.1新建地圖

13.3.2導入瓦片集

13.3.3創建層

13.3.4在普通層上繪製地圖

13.3.5在對象層上添加對象

13.4實例: 忍者無敵

13.4.1設計地圖

13.4.2程式中載入地圖

13.4.3移動精靈

13.4.4檢測碰撞

13.4.5滾動地圖

本章小結

第14章物理引擎

14.1使用物理引擎

14.1.1物理引擎核心概念

14.1.2物理引擎與精靈關係

14.2Cocos2dx 3.x中物理引擎封裝

14.2.1Cocos2dx 3.x物理引擎API

14.2.2實例: HelloPhysicsWorld

14.2.3實例: 接觸與碰撞檢測

14.2.4實例: 使用關節

本章小結

第15章記憶體管理

15.1C++記憶體管理

15.1.1記憶體分配區域

15.1.2動態記憶體分配

15.2Ref記憶體管理

15.2.1記憶體引用計數

15.2.2自動釋放池

15.2.3Ref記憶體管理規則

15.3Ref記憶體管理設計模式

15.3.1使用靜態構造函式

15.3.2使用訪問器

15.4其他類型記憶體管理

15.4.1Value記憶體管理

15.4.2Vector 和Map 記憶體管理

本章小結

第16章Cocos2dx多解析度螢幕適配

16.1螢幕適配問題的提出

16.2Cocos2dx螢幕適配

16.2.1三種解析度

16.2.2解析度策略

16.2.3紋理圖集資源適配

16.2.4瓦片地圖資源適配

本章小結

第17章Cocos2dx敏捷開發項目實戰——迷失航線手機遊戲

17.1迷失航線遊戲分析與設計

17.1.1迷失航線故事背景

17.1.2需求分析

17.1.3原型設計

17.1.4遊戲腳本

17.2任務1: 遊戲工程的創建與初始化

17.2.1疊代1.1: 創建工程

17.2.2疊代1.2: 多解析度支持

17.2.3疊代1.3: 通用類與基類維護

17.3任務2: 創建Loading場景

17.3.1疊代2.1: 添加場景和層

17.3.2疊代2.2: Loading動畫

17.3.3疊代2.3: 異步載入紋理快取

17.3.4疊代2.4: 異步預處理聲音

17.4任務3: 創建Home場景

17.4.1疊代3.1: 添加場景和層

17.4.2疊代3.2: 添加選單

17.5任務4: 創建設定場景

17.6任務5: 創建幫助場景

17.7任務6: 遊戲場景實現

17.7.1疊代6.1: 創建敵人精靈

17.7.2疊代6.2: 創建玩家飛機精靈

17.7.3疊代6.3: 創建炮彈精靈

17.7.4疊代6.4: 初始化遊戲場景

17.7.5疊代6.5: 遊戲場景選單實現

17.7.6疊代6.6: 玩家飛機發射炮彈

17.7.7疊代6.7: 炮彈與敵人的碰撞檢測

17.7.8疊代6.8: 玩家飛機與敵人的碰撞檢測

17.7.9疊代6.9: 玩家飛機生命值顯示

17.7.10疊代6.10: 顯示玩家得分情況

17.8任務7: 遊戲結束場景

本章小結

相關詞條

相關搜尋

熱門詞條

聯絡我們