天天看點

《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝大家的支援

  • 《Cocos2d-x實戰 C++卷》上線了

感謝大家一直以來的支援!

《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝大家的支援

全面介紹Cocos開發技巧,采用Cocos2d-x3.2版本,并且詳細介紹跨平台移植已經多平台釋出細節。

  • 各大商店均開始銷售:

京東:http://item.jd.com/11584534.html

亞馬遜:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

當當:http://product.dangdang.com/23606265.html

互動出版網:http://product.china-pub.com/3770734

  • 《Cocos2d-x實戰 C++卷》源碼及樣章下載下傳位址:

×××位址:http://pan.baidu.com/s/1jGDX9gM

樣章下載下傳位址:http://pan.baidu.com/s/1bnCjZiv

  • 本書更配有完整的Cocos2d-x學習路線圖:http://edu.51cto.com/roadmap/view/id-33.html
《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝大家的支援

并且隆重推出套餐課程:

Cocos2d-x跨平台手機遊戲開發-從零基礎到技術大咖

http://edu.51cto.com/pack/view/id-69.html

Cocos學習路線圖

《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝大家的支援
  • 本書系統論述了Cocos2d-x遊戲開發理論與實踐。全書内容涵蓋了Cocos2d-x的核心類、瓦片地圖、實體引擎、音樂音效、資料持久化、網絡通

    信、資料交換格式、記憶體管理、性能優化、平台移植、程式代碼管理、三大應用商店釋出産品等。本書共29章,按内容結構可分為六篇:

    第一篇開發基礎,即第2章~第8章,内容包括Cocos2d-x簡介、環境搭建、字元串、标簽、菜單、精靈、場景、層、動作、特效、動畫和Cocos2d-x使用者事件。

    第二篇開發進階,即第9章~第12章,内容包括遊戲音樂與音效、粒子系統、瓦片地圖和實體引擎。

    第三篇資料與網絡,即第13章~第17章,内容包括Cocos2d-x中使用的資料容器類、資料持久化、資料交換格式、基于HTTP網絡通信和基于Node.js的Socket.IO網絡通信。

    第四篇設計與優化,即第18章~第20章,内容包括Cocos2d-x中的常用設計模式、Cocos2d-x中的記憶體管理和性能優化。

    第五篇平台移植,即第21章~第23章,内容包括從Win 32到Android平台的移植、從Win 32到Windows Phone 8平台的移植和從Win 32到iOS平台的移植。

    第六篇開發實戰,即第24章~第29章,内容包括使用Git管理程式代碼和多個項目實戰——迷失航線手機遊戲項目開發、為迷失航線遊戲添加廣告、釋出放到Google play應用商店、釋出放到Windows Phone應用商店和釋出放到蘋果App Store。

  • 歡迎與我們進行互動交流

  讀書交流群:257760386/327403678/389037167

  本書最新動态可以關注我的微網誌@智捷iOS課堂

  本書網站:http://www.cocoagame.net,有部分内容和勘誤問題讨論區等

更多精彩全套系列叢書請關注我們

《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝大家的支援

更新無處不在,更多新增内容請詳細閱讀本書

  • 本書目錄

《Cocos2d-x實戰 C++卷》目錄

基礎篇

第1章    準備開始

1.1   本書學習路線圖

1.2   使用執行個體代碼

第2章    Cocos2d-x介紹與環境搭建

2.1   移動平台遊戲引擎介紹

2.2   Cocos2d家譜

2.3   Cocos2d-x設計目标

2.4   在Windows平台下開始開發Cocos2d-x遊戲

2.4.1       使用Visual Studio開發工具

2.4.2       下載下傳和使用Cocos2d-x案例

2.4.3       生成API文檔

本章小結

第3章    HelloCocos2d-x

3.1   第一個Cocos2d-x遊戲

3.1.1       建立工程

3.1.2       工程檔案結構

3.1.3       代碼解釋

3.2   Cocos2d-x核心概念

3.2.1       導演

3.2.2       場景

3.2.3       層

3.2.4       精靈

3.2.5       菜單

3.3   Node與Node層級架構

3.3.1       Node中重要的操作

3.3.2       Node中重要的屬性

3.3.3       遊戲循環與排程

3.4   Cocos2d-x坐标系

3.4.1       UI坐标

3.4.2       OpenGL坐标

3.4.3       世界坐标和模型坐标

3.5   Win32平台下設定螢幕

第4章    字元串、标簽和菜單

4.1   Cocos2d-x中的字元串

4.1.1       使用const char*和std::string

4.1.2       使用cocos2d::__String

4.1.3       Win32平台下中文亂碼問題

4.2   使用标簽

4.2.1       LabelTTF

4.2.2       LabelAtlas

4.2.3       LabelBMFont

4.2.4       Cocos2d-x3.x标簽類Label

4.2.5       标簽中文亂碼問題

4.3   使用菜單

4.3.1       文本菜單

4.3.2       精靈菜單和圖檔菜單

4.3.3       開關菜單

第5章    精靈

5.1   Sprite精靈類

5.1.1       建立Sprite精靈對象

5.1.2       執行個體:使用紋理對象建立Sprite對象

5.2   精靈的性能優化

5.2.1       使用紋理圖集

5.2.2       使用精靈幀緩存

第6章    場景與層

6.1   場景與層的關系

6.2   場景切換

6.2.1       場景切換相關函數

6.2.2       場景過渡動畫

6.3   場景的生命周期

6.3.1       生命周期函數

6.3.2       多場景切換生命周期

第7章    動作、特效和動畫

7.1   動作

7.1.1       瞬時動作

7.1.2       間隔動作

7.1.3       組合動作

7.1.4       動作速度控制

7.1.5       函數調用

7.2   特效

7.2.1       網格動作

7.2.2       執行個體:特效示範

7.3   動畫

7.3.1       幀動畫

7.3.2       執行個體:幀動畫使用

第8章    Cocos2d-x使用者事件

8.1   事件處理機制

8.1.1       事件分發器

8.1.2       觸摸事件

8.1.3       執行個體:單點觸摸事件

8.1.4       執行個體:使用Lambda 表達式

8.1.5       鍵盤事件

8.1.6       滑鼠事件

8.2   在層中進行事件處理

8.2.1       觸摸事件

8.2.2       執行個體:單點觸摸事件

8.3   加速度計與加速度事件

8.3.1       加速度計

8.3.2       使用事件分發器

8.3.3       使用層加速度計事件

8.3.4       執行個體:運動的小球

進階篇

第9章    遊戲背景音樂與音效

9.1   Cocos2d-x中音頻檔案

9.1.1       音頻檔案介紹

9.1.2       Cocos2d-x跨平台音頻支援

9.2   使用CocosDenshion引擎

9.2.1       音頻檔案的預處理

9.2.2       播放背景音樂

9.2.3       停止播放背景音樂

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

9.3   執行個體:設定背景音樂與音效

9.3.1       AppDelegate實作

9.3.2       HelloWorld場景實作

9.3.3       設定場景實作

第10章  粒子系統

10.1 問題的提出

10.2 粒子系統基本概念

10.2.1     執行個體:打火機

10.2.2     粒子發射模式

10.2.3     粒子系統屬性

10.3 Cocos2d-x内置粒子系統

10.3.1     内置粒子系統

10.3.2     執行個體:内置粒子系統

10.4 自定義粒子系統

10.4.1     代碼建立

10.4.2     plist檔案建立

第11章  瓦片地圖

11.1 地圖性能問題

11.2 Cocos2d-x中瓦片地圖API

11.3 執行個體:忍者無敵

11.3.1     設計地圖

11.3.2     程式中加載地圖

11.3.3     移動精靈

11.3.4     檢測碰撞

11.3.5     滾動地圖

第12章  實體引擎

12.1 使用實體引擎

12.1.1     實體引擎核心概念

12.1.2     實體引擎與精靈關系

12.2 Cocos2d-x3.0中實體引擎封裝

12.2.1     Cocos2d-x3.x實體引擎API

12.2.2     執行個體:HelloPhysicsWorld

12.2.3     執行個體:碰撞檢測

12.2.4     執行個體:使用關節

12.3 Box2D引擎

12.3.1     Box2D核心概念

12.3.2     使用Box2D實體引擎的一般步驟

12.3.3     VisualStudio 2012下Box2D開發環境設定

12.3.4     執行個體:HelloBox2D

12.3.5     執行個體:碰撞檢測

12.3.6     執行個體:使用關節

網絡與資料篇

第13章  Cocos2d-x中使用的資料容器類

13.1 Cocos2d-x中兩大類——Ref和Value

13.1.1     Cocos2d-x根類Ref

13.1.2     包裝類Value

13.2 Ref清單容器

13.2.1     __Array容器

13.2.2     執行個體:__Array容器

13.2.3     Vector<T>容器

13.2.4     執行個體:Vector容器

13.3 Ref字典容器

13.3.1     __Dictionary容器

13.3.2     執行個體:__Dictionary容器

13.3.3     Map<K,V>容器

13.3.4     執行個體:Map<K,V>容器

13.4 Value清單容器——ValueVector

13.4.1     ValueVector常用API

13.4.2     執行個體:使用ValueVector容器

13.5 Value字典容器——ValueMap和ValueMapIntKey

13.5.1     ValueMap和ValueMapIntKey常用API

13.5.2     執行個體:使用ValueMap容器

第14章  檔案通路與資料持久化

14.1 使用FileUtils通路檔案

14.1.1     Cocos2d-x中的目錄

14.1.2     執行個體:檔案讀寫

14.1.3     執行個體:路徑搜尋

14.2 持久化概述

14.3 UserDefault資料持久化

14.3.1     UserDefaultAPI

14.3.2     執行個體:儲存背景音樂和音效設定

14.4 屬性清單資料持久化

14.4.1     屬性清單概述

14.4.2     執行個體:MyNotes

14.4.3     使用__Dictionary讀寫屬性清單檔案

14.4.4     使用ValueMap讀寫屬性清單檔案

14.4.5     使用ValueVector讀取屬性清單檔案

14.5 SQLite資料庫資料持久化

14.5.1     SQLite資料庫介紹

14.5.2     VisualStudio下SQLite資料庫開發環境設定

14.5.3     執行個體:重構MyNotes

14.5.4     建立資料庫

14.5.5     SQLite資料庫管理工具

14.5.6     查詢資料

14.5.7     修改資料

第15章  資料交換格式

15.1 CSV資料交換格式

15.1.1     文檔結構

15.1.2     CSV格式解碼

15.2 XML資料交換格式

15.2.1     文檔結構

15.2.2     SAX解析

15.2.3     DOM解析

15.3 JSON資料交換格式

15.3.1     文檔結構

15.3.2     JSON架構jsoncpp和rapidjson比較

15.3.3     執行個體:rapidjson解碼

15.3.4     執行個體:rapidjson編碼

第16章  基于HTTP網絡通信

16.1 網絡結構

16.1.1     用戶端伺服器結構網絡

16.1.2     點對點結構網絡

16.2 HTTP與HTTPS協定

16.3 使用cURL開發用戶端

16.3.1     cURL與libcurl庫

16.3.2     VisualStudio下libcurl庫開發環境設定

16.3.3     執行個體:重構MyNotes

16.4 使用HttpClient開發用戶端

16.4.1     HttpClientAPI

16.4.2     VisualStudio下HttpClient開發環境設定

16.4.1     執行個體:重構MyNotes

第17章  基于Node.js的Socket.IO網絡通信

17.1 Node.js

17.1.1     Node.js安裝

17.1.2     Node.js測試

17.2 使用Socket.IO

17.2.1     Socket.IO伺服器端開發

17.2.2     Cocos2d-x的Socket.IO用戶端

17.3 執行個體:Socket.IO重構MyNotes

17.3.1     Socket.IO伺服器端開發

17.3.2     Node.js通路SQLite資料庫

17.3.3     Cocos2d-x的Socket.IO用戶端開發

設計與優化篇

第18章  Cocos2d-x中的常用設計模式

18.1 單例設計模式

18.1.1     問題提出

18.1.2     實作原理

18.1.3     應用案例

18.2 委托設計模式

18.2.1     問題提出

18.2.2     實作原理

18.2.3     應用案例

18.3 觀察者設計模式與通知機制

18.3.1     問題提出

18.3.2     實作原理

18.3.3     通知機制

第19章  Cocos2d-x中的記憶體管理

19.1 C++記憶體管理

19.1.1     記憶體配置設定區域

19.1.2     動态記憶體配置設定

19.2 Ref記憶體管理

19.2.1     記憶體引用計數

19.2.2     自動釋放池

19.2.3     Ref記憶體管理規則

19.3 Ref記憶體管理設計模式

19.3.1     使用靜态構造函數

19.3.2     使用通路器

19.4 其它類型記憶體管理

19.4.1     Value記憶體管理

19.4.2     Vector<T>和Map<K,V>記憶體管理

第20章  性能優化

20.1 工具

20.1.1     Xcode中Instruments工具使用

20.1.2     使用Windows任務管理器

20.1.3     VisualStudio記憶體洩漏檢測工具——VisualLeak Detector

20.1.4     左下角的文字是什麼?

20.2 使用SpriteBatchNode批次渲染

20.3 合理使用緩存

20.3.1     場景與資源

20.3.2     緩存建立和清除時機

20.4 圖檔與紋理優化

20.4.1     選擇圖檔格式

20.4.2     拼圖

20.4.3     紋理像素格式

20.4.4     紋理緩存異步加載

20.4.5     背景圖檔優化

20.5 聲音優化

20.5.1     聲音格式優化

20.5.2     聲音預處理與清除

20.6 多線程并發通路

20.6.1     std::thread多線程技術

20.6.2     異步預處理聲音

20.7 SQLite資料庫優化

20.7.1     表結構優化

20.7.2     查詢優化

20.7.3     插入(或删除)優化

20.8 資料交換格式優化

平台移植篇

第21章  從Win32到Android

21.1 搭建交叉編譯和打包環境

21.1.1     AndroidSDK安裝

21.1.2     管理Android SDK

21.1.3     管理Android開發模拟器

21.1.4     AndroidNDK安裝

21.1.5     設定環境變量

21.2 交叉編譯和打包

21.2.1     通過指令行交叉編譯打包

21.2.1     Android.mk編譯檔案

21.2.2     使用Eclipse交叉編譯打包

21.3 移植問題彙總

21.3.1     中文亂碼問題

21.3.2     SQLite3資料庫移植問題

21.3.3     JSON架構rapidjson移植問題

21.3.4     libcurl庫移植問題

21.3.5     libNetwork庫移植問題

21.3.6     橫屏與豎屏設定問題

第22章  從Win32到Windows Phone 8

22.1 WindowsPhone 8開發環境搭建

22.1.1     WindowsPhone SDK 8.0安裝

22.1.2     VisualStudio Express 2012 for Windows Phone 8安裝

22.2 Cocos2d-x3.x的Windows Phone8工程

22.2.1     生成工程

22.2.1     運作工程

22.2.1     調試工程

22.3 移植問題彙總

22.3.1     中文亂碼問題

22.3.2     SQLite3資料庫移植問題

22.3.3     架構rapidjson移植問題

22.3.4     libcurl庫移植問題

22.3.5     libNetwork庫移植問題

22.3.6     橫屏與豎屏設定問題

第23章  從Win32到iOS

23.1 iOS開發環境搭建

23.1.1     Xcode安裝和解除安裝

23.1.2     Xcode操作界面

23.2 從Visual Studio工程到Xcode工程

23.2.1     添加源檔案

23.2.2     添加資源檔案

23.3 移植問題彙總

23.3.1     中文亂碼問題

23.3.2     SQLite3資料庫移植問題

23.3.3     JSON架構rapidjson移植問題

23.3.4     libcurl庫移植問題

23.3.5     聲音移植問題

23.3.6     使用PVR紋理格式

23.3.7     橫屏與豎屏設定問題

23.4 多分辨率螢幕适配

23.4.1     問題的提出

23.4.2     Cocos2d-x螢幕适配

23.4.3     分辨率政策

23.4.4     紋理圖集資源适配

23.4.5     瓦片地圖資源适配

實戰篇

第24章  使用Git管理程式代碼版本

24.1 代碼版本管理工具——Git

24.1.1     版本控制曆史

24.1.2     術語和基本概念

24.1.3     Git環境配置

24.1.4     Git常用指令

24.1 代碼托管服務——GitHub

24.1.1     建立和配置GitHub賬号

24.1.2     建立代碼庫

24.1.3     删除代碼庫

24.1.4     派生代碼庫

24.1.5     GitHub協同開發

24.2 執行個體:Cocos2d-x遊戲項目協同開發

24.2.1     送出到GitHub代碼庫

24.2.2     克隆GitHub代碼庫

24.2.3     重新獲得GitHub代碼庫

第25章  Cocos2d-x靈活開發項目實戰——迷失航線手機遊戲

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

25.1.1     迷失航線故事背景

25.1.2     需求分析

25.1.3     原型設計

25.1.4     遊戲腳本

25.2 任務1:遊戲工程的建立與初始化

25.2.1     疊代1.1:建立工程

25.2.2     疊代1.2:多分辨率支援

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

25.2.4     疊代1.4:釋出到GitHub

25.3 任務2:建立Loading場景

25.3.1     疊代2.1:添加場景和層

25.3.2     疊代2.2:Loading動畫

25.3.3     疊代2.3:異步加載紋理緩存

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

25.4 任務3:建立Home場景

25.4.1     疊代3.1:添加場景和層

25.4.2     疊代3.2:添加菜單

25.5 任務4:建立設定場景

25.6 任務5:建立幫助場景

25.7 任務6:遊戲場景實作

25.7.1     疊代6.1:建立敵人精靈

25.7.2     疊代6.2:建立玩家飛機精靈

25.7.3     疊代6.3:建立炮彈精靈

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

25.7.2     疊代6.5:遊戲場景菜單實作

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

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

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

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

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

25.8 任務7:遊戲結束場景

第26章  為迷失航線遊戲添加廣告

26.1 使用谷歌AdMob廣告

26.1.1     注冊AdMob賬号

26.1.2     管理AdMob廣告

26.1.3     AdMob廣告類型

26.1.4     下載下傳谷歌AdMob Ads SDK

26.2 為迷失航線遊戲Android平台添加AdMob廣告

26.2.1     Cocos2d-x引擎Android平台下AdMob開發環境搭建

26.2.2     編寫AdMob相關代碼

26.2.3     交叉編譯與打包運作

26.3 為迷失航線遊戲Windows Phone 8平台添加AdMob廣告

26.3.1     Cocos2d-x引擎Windows Phone 8平台下AdMob開發環境搭建

26.3.2     編寫AdMob相關代碼

26.4 為迷失航線遊戲iOS平台添加AdMob廣告

26.4.1     Cocos2d-x引擎iOS平台下AdMob開發環境搭建

26.4.2     編寫AdMob相關代碼

第27章  把迷失航線遊戲釋出放到Google play 應用商店

27.1 谷歌Android應用商店Google play

27.2 Android裝置測試

27.3 還有“最後一公裡”

27.3.1     添加圖示

27.3.2     應用程式打包

27.4 釋出産品

27.4.1     上傳APK

27.4.2     填寫商品詳細資訊

27.4.3     定價和釋出範圍

第28章  把迷失航線遊戲釋出放到Windows Phone應用商店

28.1 微軟Windows Phone 應用商店

28.2 WindowsPhone 8裝置測試

28.2.1     播放音頻程式崩潰問題

28.2.2     螢幕分辨率寬度和高度相反問題

28.3 還有“最後一公裡”

28.3.1     使用應用商店測試套件完成“最後一公裡”

28.3.2     測試應用程式包XAP

28.3.3     修改應用程式的基本屬性

28.3.4     配置圖示

28.3.5     應用商店磁貼和螢幕快照

28.3.6     修改UI相關描述資訊

28.3.7     修改打包資訊

28.4 釋出産品

28.4.1     填寫應用資訊

28.4.2     上傳并描述您的程式包

第29章  把迷失航線遊戲釋出放到蘋果App Store

29.1 蘋果的App Store

29.2 iOS裝置測試

29.2.1     建立開發者證書

29.2.2     裝置注冊

29.2.3     建立App ID

29.2.4     建立配置概要檔案

29.2.5     裝置上運作

29.3 還有“最後一公裡”

29.3.1     添加圖示

29.3.2     添加啟動界面

29.3.3     修改釋出産品屬性

29.3.4     為釋出進行編譯

29.3.5     應用打包

29.4 釋出産品

29.4.1     建立應用及基本資訊

29.4.2     應用定價資訊

29.4.3     基本資訊輸入

29.4.4     上傳應用前準備

29.4.5     上傳應用

29.5 常見稽核不通過的原因

29.5.1     功能問題

29.5.2     使用者界面問題

29.5.3     商業問題

29.5.4     不當内容

29.5.5     其它問題

繼續閱讀