內容簡介
本書系統論述了Cocos2d x Lua API遊戲編程和開發技術,內容涵蓋Cocos2dx中的核心類、瓦片地圖、物理引擎和AudioEngine音頻引擎等知識。全書分為16章: 準備開始、Lua語言基礎、Cocos2dx Lua API開發環境搭建、Cocos2dx引擎與Lua綁定、遊戲中的文字、選單、精靈、場景與層、動作和動畫、用戶事件、AudioEngine音頻引擎、粒子系統、瓦片地圖、物理引擎、Cocos2dx多解析度螢幕適配,以及手機遊戲項目實戰。
本書適合作為普通高校計算機、動漫設計、數字媒體等相關專業的遊戲開發課程的教材,也適合作為手機遊戲開發培訓機構的培訓教材及廣大手機遊戲開發者的自學參考用書。
作者簡介
趙志榮資深技術講師,移動開發技術顧問。擁有多年的Androjd和iPhone開發經驗,曾參與大型網路遊戲《神農訣》的iOS和Android客戶端開發,iPhone手機充值套用系統等多款Android、iPhone和iPad套用軟體。
著有《iPhone與iPad開發實戰》《And roid開發案例驅動教程》《Android網路遊戲開發實戰》等圖書,並錄製出版了《And roid實訓l項目視頻教程》。曾為銀河、CSTP、安博和萬博等機構提供培訓l,為華中科技大學、西安交通大學、中南大學、長春大學和吉林化工大學等多所院校提供高校實訓l.為中國移動、深圳施愛德等公司提供企業內訓l.
關東升國內著名iOS/COCOS技術作家,iOS技術顧問,Cocos*有價值專家(CVP),智捷課堂首席培訓l專家。
擔任51CTO社區iOS技術顧問,精通iOS、Android、WindOWS及HTML5等移動開發技術。曾先後主持大型網路遊戲《神農訣》的客戶端開發、農產品追溯系統的客戶端開發、酒店預訂系統的客戶端開發、金融系統的客戶端開發。擅長移動平台的套用和遊戲類項目開發,在AppStore上發布數款遊戲和套用軟體。長期為中國移動研究院、方正科技、大唐電信、中國石油、中國工商銀行、南方航空、惠普、東軟、NTT等單位提供技術諮詢及員工培訓。著有多部移動開發暢銷書:
《iOS開發指南》《Swift開發指南》《iOS網路編程與雲端套用最佳實踐》《iOS感測器套用開發最佳實踐》《iOS圖形圖像、動畫和多媒體編程技術最佳實踐》
《iPhone與iPad開發實戰》《品味移動設計》《互動設計的藝術》《Cocos2d.x實戰:C++卷》《Cocos2d一×實戰:JS卷》《Cocos2d.x實戰:Lua卷》等。《Cocos2d.×實戰:工具卷》
圖書目錄
目錄
叢書序Ⅲ
序Ⅴ
前言Ⅶ
第1章準備開始
1.1使用實例代碼
1.2圖示的約定
1.2.1圖中的箭頭
1.2.2圖中的手勢
1.2.3圖中的圈框
1.2.4類圖
第2章Lua語言基礎
2.1Lua開發環境搭建
2.1.1安裝LDT工具
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.8table類型
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章Cocos2dx Lua API開發環境搭建
3.1搭建環境
3.1.1Cocos引擎下載安裝
3.1.2Cocos Framework下載和安裝
3.2Cocos Code IDE開發工具
3.2.1安裝Cocos Code IDE
3.2.2配置Cocos Code IDE
3.2.3使用Cocos Code IDE調試功能
本章小結
第4章Cocos2dx引擎與Lua綁定
4.1Cocos2d家譜
4.1.1Cocos2dx引擎
4.1.2Cocos2dx綁定Lua
4.2第一個Cocos2dx Lua綁定遊戲
4.2.1創建工程
4.2.2Cocos Code IDE中運行
4.2.3工程檔案結構
4.2.4重構HelloLua案例
4.3Cocos2dx核心概念
4.3.1導演
4.3.2場景
4.3.3層
4.4Node與Node層級架構
4.4.1Node中重要的操作
4.4.2Node中重要的屬性
4.4.3遊戲循環與調度
4.5Cocos2dx坐標系
4.5.1UI坐標
4.5.2OpenGL坐標
4.5.3世界坐標和模型坐標
本章小結
第5章遊戲中的文字
5.1使用標籤
5.1.1Label類
5.1.2Label類實例
5.2點陣圖字型製作
5.2.1Glyph Designer工具
5.2.2使用Glyph Designer製作點陣圖字型
本章小結
第6章選單
6.1選單相關類
6.2文本選單
6.3精靈選單和圖片選單
6.4開關選單
本章小結
第7章精靈
7.1Sprite精靈類
7.1.1創建Sprite精靈對象
7.1.2實例: 使用紋理對象創建Sprite對象
7.2精靈的性能最佳化
7.2.1使用紋理圖集
7.2.2使用精靈幀快取
7.3紋理圖集製作
7.3.1TexturePacker工具
7.3.2使用TexturePacker製作紋理圖集
本章小結
第8章場景與層
8.1場景與層的關係
8.2場景切換
8.2.1場景切換相關函式
8.2.2場景過渡動畫
8.3場景的生命周期
8.3.1生命周期函式
8.3.2多場景切換生命周期
本章小結
第9章動作和動畫
9.1動作
9.1.1瞬時動作
9.1.2間隔動作
9.1.3組合動作
9.1.4動作速度控制
9.1.5函式調用
9.2特效
9.2.1格線動作
9.2.2實例: 特效演示
9.3動畫
9.3.1幀動畫
9.3.2實例: 幀動畫使用
本章小結
第10章用戶事件
10.1事件處理機制
10.1.1事件分發器
10.1.2觸摸事件
10.1.3實例: 單點觸摸事件
10.1.4實例: 多點觸摸事件
10.1.5鍵盤事件
10.2加速度計與加速度計事件
10.2.1加速度計
10.2.2加速度計事件
10.2.3實例: 運動的小球
本章小結
第11章AudioEngine音頻引擎
11.1Cocos2dx中音頻檔案
11.1.1音頻檔案介紹
11.1.2Cocos2dx跨平台音頻支持
11.2使用AudioEngine引擎
11.2.1音頻檔案的預處理
11.2.2播放背景音樂
11.2.3停止播放背景音樂
11.3實例: 設定背景音樂與音效
11.3.1GameScene場景實現
11.3.2SettingScene場景實現
本章小結
第12章粒子系統
12.1問題的提出
12.2粒子系統基本概念
12.2.1實例: 打火機
12.2.2粒子發射模式
12.2.3粒子系統屬性
12.3Cocos2dx內置粒子系統
12.3.1內置粒子系統
12.3.2實例: 內置粒子系統
12.4自定義粒子系統
12.4.1代碼創建
12.4.2plist檔案創建
本章小結
第13章瓦片地圖
13.1地圖性能問題
13.2Cocos2dx Lua中瓦片地圖API
13.3使用Tiled地圖編輯器
13.3.1新建地圖
13.3.2導入瓦片集
13.3.3創建層
13.3.4在普通層上繪製地圖
13.3.5在對象層上添加對象
13.4實例: 忍者無敵
13.4.1設計地圖
13.4.2程式中載入地圖
13.4.3移動精靈
13.4.4檢測碰撞
13.4.5滾動地圖
本章小結
第14章物理引擎
14.1使用物理引擎
14.1.1物理引擎核心概念
14.1.2物理引擎與精靈關係
14.2Cocos2dx中物理引擎
14.2.1Cocos2dx物理引擎Lua API
14.2.2實例: HelloPhysicsWorld
14.2.3實例: 接觸與碰撞檢測
14.2.4實例: 使用關節
本章小結
第15章多解析度螢幕適配
15.1螢幕適配問題的提出
15.2Cocos2dx螢幕適配
15.2.1三種解析度
15.2.2解析度適配策略
15.2.3紋理圖集資源適配
15.2.4瓦片地圖資源適配
本章小結
第16章敏捷開發項目實戰——迷失航線手機遊戲
16.1迷失航線遊戲分析與設計
16.1.1迷失航線故事背景
16.1.2需求分析
16.1.3原型設計
16.1.4遊戲腳本
16.2任務1: 遊戲工程的創建與初始化
16.2.1疊代1.1: 創建工程
16.2.2疊代1.2: 添加資源檔案
16.2.3疊代1.3: 添加常量檔案SystemConst.lua
16.2.4疊代1.4: 多解析度支持
16.3任務2: 創建Loading場景
16.3.1疊代2.1: 添加場景和層
16.3.2疊代2.2: Loading動畫
16.3.3疊代2.3: 異步載入紋理快取
16.4任務3: 創建Home場景
16.4.1疊代3.1: 添加場景和層
16.4.2疊代3.2: 添加選單
16.5任務4: 創建設定場景
16.6任務5: 創建幫助場景
16.7任務6: 遊戲場景實現
16.7.1疊代6.1: 創建敵人精靈
16.7.2疊代6.2: 創建玩家飛機精靈
16.7.3疊代6.3: 創建炮彈精靈
16.7.4疊代6.4: 初始化遊戲場景
16.7.5疊代6.5: 遊戲場景選單實現
16.7.6疊代6.6: 玩家飛機發射炮彈
16.7.7疊代6.7: 炮彈與敵人的接觸檢測
16.7.8疊代6.8: 玩家飛機與敵人的接觸檢測
16.7.9疊代6.9: 玩家飛機生命值顯示
16.7.10疊代6.10: 顯示玩家得分情況
16.8任務7: 遊戲結束場景
本章小結