《Cocos2d-x實戰 C++卷》上線了-源碼-樣章-感謝你們的支持

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

感謝你們一直以來的支持!html

 

全面介紹Cocos開發技巧,採用Cocos2d-x3.2版本,而且詳細介紹跨平臺移植已經多平臺發佈細節。數據庫

· 各大商店均開始銷售:json

京東: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/B00PTYWTLUapi

噹噹:http://product.dangdang.com/23606265.html緩存

互動出版網:http://product.china-pub.com/3770734性能優化

 

· 《Cocos2d-x實戰 C++卷》源碼及樣章下載地址:服務器

源碼下載地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 網絡

樣章下載地址:http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1 

 

· 本書更配有完整的Cocos2d-x學習路線圖

http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0 

 

而且隆重推出Cocos會員服務

Cocos學習路線圖

 

· 本書系統論述了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++卷》目錄

基礎篇

第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     其它問題

本章小結

相關文章
相關標籤/搜索