Cocos2d-x實戰:Lua卷

Cocos2d-x實戰:Lua卷

《Cocos2d-x實戰:Lua卷》 是2015年4月1日清華大學出版社出版的圖書,作者是關東升。

內容簡介

《Cocos2d-x實戰 Lua卷》是介紹Cocos2d-x Lua遊戲編程和開發技術的書籍,介紹了使用Cocos2dx Lua中核心類、瓦片地圖、物理引擎、音樂音效、數據持久化、網路通信、性能最佳化、多平台移植、程式代碼管理、兩大套用商店發布產品。全書分為六篇: 基礎篇、進階篇、數據與網路篇、最佳化篇、跨平台移植篇和實戰篇,共23章。基礎篇包括第1~8章,分別是Cocos2d-x Lua介紹、環境搭建、標籤、選單、精靈、場景、層、動作、特效、動畫和用戶事件。進階篇包括第9~12章,分別是遊戲音樂與音效、粒子系統、瓦片地圖和物理引擎。數據與網路篇包括第13~15章,分別是數據持久化、基於HTTP的網路通信、Node.js與WebSocket網路通信。最佳化篇為第16章,主要介紹性能最佳化。跨平台移植篇包括第17章和第18章,分別是移植到Android平台和移植到iOS平台。實戰篇包括第19~23章,分別是使用Git管理程式代碼、項目實戰——迷失航線手機遊戲、為迷失航線遊戲添加廣告、發布放到Google play套用商店和發布放到蘋果App Store。

目錄

第一篇基礎篇

第1章準備開始

1.1本書學習路線圖

1.2使用實例代碼

第2章Lua語言基礎

2.1環境搭建

2.1.1Lua編輯工具

2.1.2HelloLua實例測試

2.2標識符和保留字

2.2.1標識符

2.2.2保留字

2.3常量和變數

2.3.1常量

2.3.2變數

2.3.3命名規範

2.4注釋

2.5Lua數據類型

2.5.1數據類型

2.5.2type函式

2.5.3數據類型轉換

2.6運算符

2.6.1算術運算符

2.6.2關係運算符

2.6.3邏輯運算符

2.6.4運算優先權

2.7控制語句

2.7.1分支語句

2.7.2循環語句

2.7.3跳轉語句

2.8表類型

2.8.1字典

2.8.2數組

2.9字元串類型

2.9.1字元串截取

2.9.2字元串轉換

2.9.3字元串查詢

2.9.4字元串格式化

2.10函式

2.10.1使用函式

2.10.2變數作用域

2.10.3多重返回值

2.11閉包函式

2.11.1嵌套函式

2.11.2返回函式

2.11.3使用閉包表達式

2.12Lua中的面向對象

2.12.1Lua中的對象

2.12.2類的實現

本章小結

第3章Hello Cocos2dx Lua

3.1移動平台遊戲引擎介紹

3.2Cocos2d遊戲引擎

3.2.1Cocos2d遊戲引擎家譜

3.2.2Cocos2dx引擎

3.2.3JavaScript和Lua綁定

3.3搭建Cocos2dx Lua開發環境

3.3.1搭建Cocos Code IDE開發環境

3.3.2下載和使用Cocos2dx Lua官方案例

3.4第一個Cocos2dx Lua遊戲

3.4.1創建工程

3.4.2Cocos Code IDE中運行

3.4.3工程檔案結構

3.4.4代碼解釋

3.5重構HelloLua

3.6Cocos2dx Lua核心概念

3.6.1導演

3.6.2場景

3.6.3層

3.6.4精靈

3.6.5選單

3.7Node與Node層級架構

3.7.1Node中重要的操作

3.7.2Node中重要的屬性

3.7.3遊戲循環與調度

3.8Cocos2dx Lua坐標系

3.8.1UI坐標

3.8.2OpenGL坐標

3.8.3世界坐標和模型坐標

本章小結

第4章標籤和選單

4.1使用標籤

4.1.1LabelTTF

4.1.2LabelAtlas

4.1.3LabelBMFont

4.1.4Cocos2dx 3.x標籤類Label

4.2使用選單

4.2.1文本選單

4.2.2精靈選單和圖片選單

4.2.3開關選單

本章小結

第5章精靈

5.1Sprite精靈類

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章用戶事件

8.1事件處理機制

8.1.1事件分發器

8.1.2觸摸事件

8.1.3實例: 單點觸摸事件

8.1.4實例: 多點觸摸事件

8.1.5鍵盤事件

8.2加速度計與加速度事件

8.2.1加速度計

8.2.2加速計事件

8.2.3實例: 運動的小球

本章小結

第二篇進階篇

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

9.1Cocos2dx Lua中音頻檔案

9.1.1音頻檔案介紹

9.1.2Cocos2dx Lua跨平台音頻支持

9.2使用Audio Engine引擎

9.2.1音頻檔案的預處理

9.2.2播放背景音樂

9.2.3停止播放背景音樂

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

9.3.1GameScene場景實現

9.3.2SettingScene場景實現

本章小結

第10章粒子系統

10.1問題的提出

10.2粒子系統的基本概念

10.2.1實例: 打火機

10.2.2粒子發射模式

10.2.3粒子系統屬性

10.3Cocos2dx內置粒子系統

10.3.1內置粒子系統

10.3.2實例: 內置粒子系統

10.4自定義粒子系統

10.4.1代碼創建

10.4.2plist檔案創建

本章小結

第11章瓦片地圖

11.1地圖的性能問題

11.2Cocos2dx Lua中瓦片地圖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.2Cocos2dx Lua中物理引擎

12.2.1Cocos2dx Lua物理引擎API

12.2.2實例: HelloPhysicsWorld

12.2.3實例: 碰撞檢測

12.2.4實例: 使用關節

本章小結

第三篇數據與網路篇

第13章數據持久化

13.1使用FileUtils訪問檔案

13.1.1Cocos2dx Lua中的目錄

13.1.2實例: 讀取檔案

13.1.3實例: 路徑搜尋

13.2持久化概述

13.3UserDefault數據持久化

13.3.1UserDefaultAPI

13.3.2實例: 保存背景音樂和音效設定

13.4屬性列表數據持久化

13.4.1屬性列表概述

13.4.2實例: 訪問根為字典列表結構的屬性列表檔案

13.4.3實例: 訪問根為列表結構的屬性列表檔案

本章小結

第14章基於HTTP的網路通信

14.1網路結構

14.1.1客戶端伺服器結構網路

14.1.2點對點結構網路

14.2HTTP與HTTPS協定

14.3使用XMLHttpRequest對象開發客戶端

14.3.1使用XMLHttpRequest對象

14.3.2實例: MyNotes

14.4數據交換格式

14.5JSON數據交換格式

14.5.1文檔結構

14.5.2JSON解碼與編碼

14.5.3實例: 完善MyNotes

本章小結

第15章Node.js與WebSocket網路通信

15.1Node.js

15.1.1Node.js安裝

15.1.2Node.js測試

15.2使用WebSocket

15.2.1使用Node.js開發WebSocket伺服器端程式

15.2.2Cocos2dx Lua客戶端

15.3實例: WebSocket重構MyNotes

15.3.1WebSocket伺服器端開發

15.3.2伺服器端Node.js訪問SQLite資料庫

15.3.3Cocos2dx Lua客戶端開發

本章小結

第四篇最佳化篇

第16章性能最佳化

16.1合理使用快取

16.1.1場景與資源

16.1.2快取創建和清除的時機

16.2圖片與紋理最佳化

16.2.1選擇圖片格式

16.2.2拼圖

16.2.3紋理像素格式

16.2.4紋理快取異步載入

16.2.5背景圖片最佳化

16.3聲音最佳化

16.3.1聲音格式最佳化

16.3.2聲音預處理與清除

本章小結

第五篇跨平台移植篇

第17章移植到Android平台

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

17.1.1Android SDK安裝

17.1.2管理Android SDK

17.1.3管理Android開發模擬器

17.1.4Android NDK安裝

17.2創建Cocos2dx Lua工程

17.3交叉編譯

17.4打包運行

17.5移植問題匯總

17.5.1Lua檔案編譯問題

17.5.2橫屏與豎屏設定問題

本章小結

第18章移植到iOS平台

18.1iOS開發環境搭建

18.1.1Xcode安裝和卸載

18.1.2Xcode操作界面

18.2創建Cocos2dx Lua工程

18.3編譯與發布

18.4移植問題匯總

18.4.1iOS平台聲音移植問題

18.4.2使用PVR紋理格式

18.4.3橫屏與豎屏設定問題

18.5多解析度螢幕適配

18.5.1問題的提出

18.5.2Cocos2dx Lua螢幕適配

18.5.3解析度策略

18.5.4紋理圖集資源適配

18.5.5瓦片地圖資源適配

本章小結

第六篇實戰篇

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

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

19.1.1版本控制歷史

19.1.2術語和基本概念

19.1.3Git環境配置

19.1.4Git常用命令

19.2代碼託管服務——GitHub

19.2.1創建和配置GitHub賬號

19.2.2創建代碼庫

19.2.3刪除代碼庫

19.2.4派生代碼庫

19.2.5GitHub協同開發

19.3實例: Cocos2dx Lua遊戲項目協同開發

19.3.1提交到GitHub代碼庫

19.3.2克隆GitHub代碼庫

19.3.3重新獲得GitHub代碼庫

本章小結

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

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

20.1.1迷失航線故事背景

20.1.2需求分析

20.1.3原型設計

20.1.4遊戲腳本

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

20.2.1疊代1.1: 創建工程

20.2.2疊代1.2: 添加資源檔案

20.2.3疊代1.3: 添加常量檔案SystemConst.lua

20.2.4疊代1.4: 多解析度支持

20.2.5疊代1.5: 發布到GitHub

20.3任務2: 創建Loading場景

20.3.1疊代2.1: 添加場景和層

20.3.2疊代2.2: Loading動畫

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

20.4任務3: 創建Home場景

20.4.1疊代3.1: 添加場景和層

20.4.2疊代3.2: 添加選單

20.5任務4: 創建設定場景

20.6任務5: 創建幫助場景

20.7任務6: 遊戲場景實現

20.7.1疊代6.1: 創建敵人精靈

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

20.7.3疊代6.3: 創建炮彈精靈

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

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

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

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

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

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

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

20.8任務7: 遊戲結束場景

本章小結

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

21.1使用谷歌AdMob廣告

21.1.1註冊AdMob帳號

21.1.2管理AdMob廣告

21.1.3AdMob廣告類型

21.1.4下載谷歌AdMob Ads SDK

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

21.2.1Google Play服務下載與配置

21.2.2導入libcocos2dx類庫工程到Eclipse

21.2.3導入LostRoutes工程到Eclipse

21.2.4編寫AdMob相關代碼

21.2.5交叉編譯、打包和運行

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

21.3.1Cocos2dx引擎iOS平台下AdMob開發環境搭建

21.3.2編寫AdMob相關代碼

本章小結

第22章把迷失航線遊戲發布放到Google play套用商店

22.1谷歌Android套用商店Google play

22.2還有“最後一公里”

22.2.1Lua檔案編譯

22.2.2添加圖示

22.2.3應用程式打包

22.3發布產品

22.3.1上傳APK

22.3.2填寫商品詳細信息

22.3.3定價和發布範圍

本章小結

第23章把迷失航線遊戲發布放到蘋果的App Store

23.1蘋果的App Store

23.2iOS設備測試

23.2.1創建開發者證書

23.2.2設備註冊

23.2.3創建App ID

23.2.4創建配置概要檔案

23.2.5設備上運行

23.3還有“最後一公里”

23.3.1添加圖示

23.3.2添加啟動界面

23.3.3修改發布產品屬性

23.3.4為發布進行編譯

23.3.5套用打包

23.4發布產品

23.4.1創建套用及基本信息

23.4.2套用定價信息

23.4.3基本信息輸入

23.4.4上傳套用前的準備

23.4.5上傳套用

23.5常見審核不通過的原因

23.5.1功能問題

23.5.2用戶界面問題

23.5.3商業問題

23.5.4不當內容

23.5.5其他問題

本章小結

作者簡介

關東升,國內知名iOS技術作家,iOS技術顧問,高級培訓講師,移動開發專家。擔任51CTO社區iOS技術顧問,精通iOS、Android和Windows Phone及HTML5等移動開發技術。曾先後主持開發大型網路遊戲《神農訣》的iOS和Android客戶端開發,國家農產品追溯系統的iPad客戶端開發,酒店預訂系統的iOS客戶端開發,金融系統的iOS、Windows Phone 及Android客戶端開發。在App Store上發布數款遊戲和套用軟體,擅長移動平台的套用和遊戲類項目開發。長期為中國移動研究院、雲南移動、東軟、方正科技、大唐電信、中石油、深圳康拓普、上海財富168、天津港務局等企事業單位授課。著有《iOS網路編程與雲端套用最佳實踐》、《iOS感測器套用開發最佳實踐》、《iOS圖形圖像、動畫和多媒體編程技術最佳實踐》、《iOS開發指南——從零基礎到App Store上架》、《互動設計的藝術——iOS 7擬物化到扁平化革命》等iOS專業圖書。

相關詞條

相關搜尋

熱門詞條

聯絡我們