《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   NodeNode層級架構
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 2012Box2D開發環境設置
12.3.4     實例:HelloBox2D
12.3.5     實例:碰撞檢測
12.3.6     實例:使用關節
本章小結

網絡與數據篇
13  Cocos2d-x中使用的數據容器類
13.1 Cocos2d-x中兩大類——RefValue
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字典容器——ValueMapValueMapIntKey
13.5.1     ValueMapValueMapIntKey常用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     VisualStudioSQLite數據庫開發環境設置
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框架jsoncpprapidjson比較
15.3.3     實例:rapidjson解碼
15.3.4     實例:rapidjson編碼
本章小結

16  基於HTTP網絡通信
16.1 網絡結構
16.1.1     客戶端服務器結構網絡
16.1.2     點對點結構網絡
16.2 HTTPHTTPS協議
16.3 使用cURL開發客戶端
16.3.1     cURLlibcurl
16.3.2     VisualStudiolibcurl庫開發環境設置
16.3.3     實例:重構MyNotes
16.4 使用HttpClient開發客戶端
16.4.1     HttpClientAPI
16.4.2     VisualStudioHttpClient開發環境設置
16.4.1     實例:重構MyNotes
本章小結

17  基於Node.jsSocket.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-xSocket.IO客戶端
17.3 實例:Socket.IO重構MyNotes
17.3.1     Socket.IO服務器端開發
17.3.2     Node.js訪問SQLite數據庫
17.3.3     Cocos2d-xSocket.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     XcodeInstruments工具使用
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  Win32Android
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  Win32Windows 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.xWindows 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  Win32iOS
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.2Loading動畫
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     其它問題
本章小結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章