Cocos2d-x 實戰 (JS捲-Cocos2d-JS 開發)/ Cocos2d-x实战:JS卷——Cocos2d-JS开发 (清华游戏开发丛书)

關東升

  • 出版商: 清華大學
  • 出版日期: 2015-04-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 475
  • ISBN: 7302387435
  • ISBN-13: 9787302387435
  • 相關分類: 遊戲引擎 Game-engine
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

<內容介紹>

本書是介紹Cocos2d-x遊戲編程和開發技術書籍,介紹了使用Cocos2d-JS中核心類、瓦片地圖、物理引擎、音樂音效、資料持久化、網絡通信、性能優化、多平臺發佈、程式碼管理、兩大應用商店發佈產品。全書分為6:基礎篇、進階篇、資料與網絡篇、設計與優化篇、多平臺發佈篇和實戰篇。基礎篇包括第2章~第8章,Cocos2d-JS介紹、環境搭建、標籤、菜單、精靈、場景、層、動作、特效、動畫和Cocos2d-JS用戶事件。進階篇包括第9章~第12章,遊戲音樂與音效、粒子系統、瓦片地圖和物理引擎。資料與網絡篇包括第13章~第15章,Cocos2d-JS中的資料持久化、基於HTTP網絡通信和基於Node.js的Socket.IO網絡通信。優化篇包括第16章性能優化。多平臺發佈篇包括第17章~第19章,發佈到Web平臺、發佈到本地iOS平臺和發佈到本地Android平臺。實戰篇包括第20章~第24章,使用Git管理程式碼、專案實戰:迷失航線手機遊戲、為迷失航線遊戲添加廣告、發佈放到Google play應用商店和發佈放到蘋果App Store。

<章節目錄>

第1章準備開始
1.1本書學習路線圖
1.2使用實例代碼
第一篇基礎篇
第2章JavaScript語言基礎
2.1環境搭建
2.1.1JavaScript編輯工具
2.1.2JavaScript運行測試環境
2.1.3HelloJS實例測試
2.2識別字和保留字
2.2.1識別字
2.2.2保留字
2.3常量和變量
2.3.1常量
2.3.2變量
2.3.3命名規範
2.4註釋
2.5JavaScript資料類型
2.5.1資料類型
2.5.2資料類型字面量
2.5.3資料類型轉換
2.6運算符
2.6.1算術運算符
2.6.2關係運算符
2.6.3邏輯運算符
2.6.4位運算符
2.6.5其他運算符
2.7控制語句
2.7.1分支語句
2.7.2循環語句
2.7.3跳轉語句
2.8陣列
2.9函數
2.9.1使用函數
2.9.2變量作用域
2.9.3嵌套函數
2.9.4返回函數
2.10JavaScript中的面向物件
2.10.1創建對象
2.10.2常用內置對象
2.10.3原型
2.11Cocos2dJS中的JavaScript繼承
本章小結
第3章Hello Cocos2dJS
3.1移動平臺遊戲引擎
3.2Cocos2d遊戲引擎
3.2.1Cocos2d遊戲引擎家譜
3.2.2Cocos2dx引擎
3.2.3Cocos2dJS引擎
3.3搭建Cocos2dJS開發環境
3.3.1搭建WebStorm開發環境
3.3.2搭建Cocos Code IDE開發環境
3.3.3下載和使用Cocos2dJS官方案例
3.3.4使用API文檔
3.4第一個Cocos2dJS遊戲
3.4.1創建工程
3.4.2在Cocos Code IDE中運行
3.4.3在WebStorm中運行
3.4.4工程檔結構
3.4.5代碼解釋
3.5Cocos2dJS核心概念
3.5.1導演
3.5.2場景
3.5.3層
3.5.4精靈
3.5.5菜單
3.6Node與Node層級架構
3.6.1Node中重要的操作
3.6.2Node中重要的屬性
3.6.3遊戲循環與調度
3.7Cocos2dJS坐標系
3.7.1UI座標
3.7.2OpenGL座標
3.7.3世界座標和模型座標
本章小結
第4章標籤和菜單
4.1使用標籤
4.1.1cc.LabelTTF
4.1.2cc.LabelAtlas
4.1.3cc.LabelBMFont
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章Cocos2dJS用戶事件
8.1事件處理機制
8.1.1事件處理機制中的三個角色
8.1.2事件管理器
8.2觸摸事件
8.2.1觸摸事件的時間方面
8.2.2觸摸事件的空間方面
8.2.3實例: 單點觸摸事件
8.2.4實例: 多點觸摸事件
8.3鍵盤事件
8.4鼠標事件
8.5加速度計與加速度事件
8.5.1加速度計
8.5.2實例: 運動的小球
本章小結
第二篇進階篇
第9章遊戲背景音樂與音效
9.1Cocos2dJS中音頻檔
9.1.1音頻檔
9.1.2Cocos2dJS跨平臺音頻支援
9.2使用AudioEngine引擎
9.2.1音頻檔的預處理
9.2.2播放背景音樂
9.2.3停止播放背景音樂
9.3實例: 設置背景音樂與音效
9.3.1資源檔案編寫
9.3.2HelloWorld場景實現
9.3.3設置場景實現
本章小結
第10章粒子系統
10.1問題的提出
10.2粒子系統基本概念
10.2.1實例: 打火機
10.2.2粒子發射模式
10.2.3粒子系統屬性
10.3Cocos2dJS內置粒子系統
10.3.1內置粒子系統
10.3.2實例: 內置粒子系統
10.4自定義粒子系統
本章小結
第11章瓦片地圖
11.1地圖性能問題
11.2Cocos2dJS中瓦片地圖API
11.3實例: 忍者無敵
11.3.1設計地圖
11.3.2程式中加載地圖
11.3.3移動精靈
11.3.4檢測碰撞
11.3.5滾動地圖
本章小結
第12章物理引擎
12.1使用物理引擎
12.2Chipmunk引擎
12.2.1Chipmunk核心概念
12.2.2使用Chipmunk物理引擎的一般步驟
12.2.3實例: HelloChipmunk
12.2.4實例: 碰撞檢測
12.2.5實例: 使用關節
12.3Box2D引擎
12.3.1Box2D核心概念
12.3.2使用Box2D物理引擎的一般步驟
12.3.3實例: HelloBox2D
12.3.4實例: 碰撞檢測
12.3.5實例: 使用關節
本章小結
第三篇資料與網絡篇
第13章資料持久化
13.1Cocos2dJS中的資料持久化
13.2localStorage資料持久化
13.2.1cc.sys.localStorage API函數
13.2.2實例: MyNotes
本章小結
第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的Socket.IO網絡通信
15.1Node.js
15.1.1Node.js安裝
15.1.2Node.js測試
15.2使用Socket.IO
15.2.1Socket.IO服務器端開發
15.2.2Cocos2dJS的Socket.IO用戶端開發
15.3實例: Socket.IO重構MyNotes
15.3.1Socket.IO服務器端開發
15.3.2Node.js訪問SQLite數據庫
15.3.3Cocos2dJS的Socket.IO用戶端開發
本章小結
第四篇優化篇
第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.3JSB內存管理
16.4使用Bake層
16.5使用物件池
16.5.1對象池API
16.5.2實例: 發射子彈
本章小結
第五篇多平臺移植篇
第17章移植到Web平臺
17.1Web服務器與移植
17.1.1Apache HTTP Server安裝
17.1.2移植到Web服務器
17.2問題匯總
17.2.1JS檔的壓縮與代碼混淆
17.2.2判斷平臺
17.2.3資源不能加載問題
本章小結
第18章移植到本地iOS平臺
18.1iOS開發環境搭建
18.1.1Xcode安裝和卸載
18.1.2Xcode操作接口
18.2創建本地工程
18.3編譯與移植
18.4移植問題匯總
18.4.1iOS平臺聲音移植問題
18.4.2使用PVR紋理格式
18.4.3橫屏與豎屏設置問題
18.5多分辨率螢幕適配
18.5.1問題的提出
18.5.2分辨率策略
本章小結
第19章移植到本地Android平臺
19.1搭建交叉編譯和打包環境
19.1.1安裝Android SDK
19.1.2管理Android SDK
19.1.3管理Android開發模擬器
19.1.4安裝Android NDK
19.2交叉編譯
19.3打包運行
19.4移植問題匯總
19.4.1JS文件編譯問題
19.4.2橫屏與豎屏設置問題
本章小結
第六篇實戰篇
第20章使用Git管理程式碼版本
20.1代碼版本管理工具——Git
20.1.1版本控制歷史
20.1.2術語和基本概念
20.1.3Git環境配置
20.1.4Git常用命令
20.2代碼託管服務——GitHub
20.2.1創建和配置GitHub帳號
20.2.2創建代碼庫
20.2.3刪除代碼庫
20.2.4派生代碼庫
20.2.5GitHub協同開發
20.3實例: Cocos2dJS遊戲專案協同開發
20.3.1提交到GitHub代碼庫
20.3.2克隆GitHub代碼庫
20.3.3重新獲得GitHub代碼庫
本章小結
第21章Cocos2dJS敏捷開發專案實戰——迷失航線手機遊戲
21.1迷失航線遊戲分析與設計
21.1.1迷失航線故事背景
21.1.2需求分析
21.1.3原型設計
21.1.4遊戲腳本
21.2任務1: 遊戲工程的創建與初始化
21.2.1迭代1.1: 創建工程
21.2.2迭代1.2: 添加資源檔案
21.2.3迭代1.3: 添加常量文件SystemConst.js
21.2.4迭代1.4: 多分辨率適配
21.2.5迭代1.5: 發佈到GitHub
21.3任務2: 創建Loading場景
21.3.1迭代2.1: 修改啟動接口
21.3.2迭代2.2: 配置檔resource.js
21.4任務3: 創建Home場景
21.4.1迭代3.1: 添加場景和層
21.4.2迭代3.2: 添加菜單
21.5任務4: 創建設置場景
21.6任務5: 創建幫助場景
21.7任務6: 遊戲場景實現
21.7.1迭代6.1: 創建敵人精靈
21.7.2迭代6.2: 創建玩家飛機精靈
21.7.3迭代6.3: 創建炮彈精靈
21.7.4迭代6.4: 初始化遊戲場景
21.7.5迭代6.5: 遊戲場景功能表實現
21.7.6迭代6.6: 玩家飛機發射炮彈
21.7.7迭代6.7: 炮彈與敵人的碰撞檢測
21.7.8迭代6.8: 玩家飛機與敵人的碰撞檢測
21.7.9迭代6.9: 玩家飛機生命值顯示
21.7.10迭代6.10: 顯示玩家得分情況
21.8任務7: 遊戲結束場景
本章小結
第22章為迷失航線遊戲添加廣告
22.1使用穀歌AdMob廣告
22.1.1註冊AdMob帳號
22.1.2管理AdMob廣告
22.1.3AdMob廣告類型
22.1.4下載穀歌AdMob Ads SDK
22.2為迷失航線遊戲Android平臺添加AdMob廣告
22.2.1Google play服務下載與配置
22.2.2導入libcocos2dx類庫工程到Eclipse
22.2.3導入LostRoutes工程到Eclipse
22.2.4編寫AdMob相關代碼
22.2.5交叉編譯、打包和運行
22.3為迷失航線遊戲iOS平臺添加AdMob廣告
22.3.1Cocos2dx引擎iOS平臺下搭建AdMob開發環境
22.3.2編寫AdMob相關代碼
本章小結
第23章把迷失航線遊戲發佈到Google play 應用商店
23.1谷歌Android應用商店Google play
23.2還有“最後一千米”
23.2.1JS檔編譯
23.2.2添加圖示
23.2.3應用程式打包
23.3發佈產品
23.3.1上傳APK
23.3.2填寫商品詳細資訊
23.3.3定價和發佈範圍
本章小結
第24章把迷失航線遊戲發佈到蘋果App Store應用商店
24.1蘋果的App Store
24.2iOS設備測試
24.2.1創建開發者證書
24.2.2設備註冊
24.2.3創建App ID
24.2.4創建配置概要檔
24.2.5設備上運行
24.3還有“最後一千米”
24.3.1添加圖示
24.3.2添加啟動接口
24.3.3修改發佈產品屬性
24.3.4為發佈進行編譯
24.3.5應用打包
24.4發佈產品
24.4.1創建應用及基本資訊
24.4.2應用定價資訊
24.4.3基本資訊輸入
24.4.4上傳應用前準備
24.4.5上傳應用
24.5常見審核不通過的原因
本章小結