●第1章 Cocos2d-Lua
1.1 Cocos2d簡介
1.1.1 Cocos2d的起源
1.1.2 Cocos2d-x的誕生
1.1.3 Cocos2d-Lua的發展
1.2 版本簡介
1.2.1 Cocos2d-x版本簡介(C++)
1.2.2 Cocos2d-Lua版本簡介
第2章 Lua編程
2.1 Lua在Windows下的運行環境搭建
2.1.1 安裝
2.1.2 運行
2.2 Lua基礎
2.2.1 Lua簡介
2.2.2 Lua語法
2.3 Lua面向對像
2.3.1 metatab表)
2.3.2 方法簡介
2.3.3 封裝
2.3.4 繼承
2.3.5 多態
第3章 Cocos-Lua基礎
3.1 Cocos2d-Lua開發環境配置
3.1.1 安裝Cocos2d-Lua
3.1.2 安裝VS Code與QuickXDev
3.1.3 測試開發環境
3.2 引擎架構與目錄結構
3.2.1 引擎架構
3.2.2 引擎文件結構
3.2.3 項目文件結構
3.3 MVC框架
3.3.1 什麼是MVC
3.3.2 Cocos2d-Lua中的類實現
3.3.3 Cocos2d-Lua中的MVC實現
3.4 基礎概念
3.4.1 導演
3.4.2 節點
3.4.3 場景
3.4.4 層
3.4.5 精靈
3.5 坐標繫
3.5.1 笛卡兒坐標繫
3.5.2 屏幕坐標繫和Cocos2d-Lua坐標繫
3.5.3 世界坐標繫和本地坐標繫
3.5.4 錨點
3.5.5 忽略錨點
3.5.6 ZOrder與渲染順序
3.6 文本標簽
3.6.1 TTF文本標簽
3.6.2 BMFont文本標簽
3.6.3 圖集文本標簽
3.6.4 Mac下使用Glyph Designer制作字體
3.6.5 Windows下使用BMFont制作字體
3.7 按鈕
3.7.1 ccui.Button
3.7.2 ccui.CheckBox
3.8 場景轉換
3.8.1 概念
3.8.2 帶轉場的場景
3.8.3 場景轉換示例
3.9 動作
3.9.1 瞬時動作
3.9.2 有限時間動作
3.9.3 復合動作
3.9.4 變速動作
3.9.5 節點與動作相關的接口
3.10 序列幀動畫
3.10.1 精靈表單
3.10.2 播放序列幀動畫
3.10.3 動畫緩存
3.11 調度器
3.11.1 全局調度器
3.11.2 節點調度器
3.12 事件分發機制
3.12.1 節點事件
3.12.2 幀事件
3.12.3 鍵盤事件
3.12.4 加速計事件
3.12.5 觸摸事件
3.13 多分辨率適配
3.13.1 Cocos2d-x多分辨率適配
3.13.2 Cocos2d-Lua中的多分辨率適配
第4章 消除遊戲實戰(1)
4.1 Fruit Fest(1):主場景
4.1.1 遊戲玩法
4.1.2 美術設計
4.1.3 分辨率適配策略
4.1.4 主場景
4.2 Fruit Fest(2):創建PlayScene
4.2.1 準備BMFont
4.2.2 創建PlayScene
4.2.3 添加轉場代碼
4.2.4 添加UI
4.3 Fruit Fest(3):初始化水果矩陣
4.3.1 水果類
4.3.2 矩陣算法
4.3.3 掉落算法
4.3.4 矩陣初始化的代碼實現
4.4 Fruit Fest(4):選中水果
4.4.1 綁定觸摸事件
4.4.2 清除已高亮區域
4.4.3 高亮算法
4.4.4 分數算法
4.5 Fruit Fest(5):消除與掉落
4.5.1 消除高亮水果
4.5.2 掉落與補全
第5章 Cocos2d-Lua進階
5.1 UI控件
5.1.1 輸入控件
5.1.2 圖片控件
5.1.3 進度條控件
5.1.4 滑動條控件
5.1.5 富文本控件
5.1.6 面板容器
5.1.7 滾動容器
5.1.8 列表容器
5.1.9 分頁視圖控件
5.1.10 視頻播放控件
5.1.11 網頁視圖控件
5.2 Cocos Studio編輯器
5.2.1 UI編輯基礎
5.2.2 分辨率適配
5.2.3 加載csb文件
5.3 瓦片地圖
5.3.1 用Tiled制作瓦片地圖
5.3.2 地圖視角
5.3.3 在Cocos2d-Lua中使用TMX
5.4 精靈批處理
5.4.1 手動批處理
5.4.2 自動批處理
5.5 踫撞檢測
5.5.1 點與點的踫撞
5.5.2 點與矩形的踫撞
5.5.3 圓與圓之間的踫撞
5.5.4 軸對齊矩形之間的踫撞
5.5.5 非軸對齊矩形之間的踫撞
5.6 內存管理
5.6.1 Lua內存管理
5.6.2 Cocos2d-Lua內存管理
5.6.3 紋理緩存
5.6.4 精靈幀緩存
5.7 數據與存儲
5.7.1 JSON數據
5.7.2 crypto數據編碼
5.7.3 UserDefault數據存儲
5.7.4 FileUtils文件讀寫
5.7.5 Lua文件讀寫
5.8 背景音樂與音效
5.9 粒子繫統
5.9.1 什麼是粒子繫統
5.9.2 Cocos2d-Lua中的粒子繫統
5.9.3 粒子繫統批處理節點
5.9.4 粒子屬性
5.9.5 粒子編輯器
5.9.6 使用粒子繫統
5.10 骨骼動畫
5.10.1 Spine
5.10.2 DragonBones
5.11 裁剪節點
5.12 渲染紋理
第6章 消除遊戲實戰(2)
6.1 Fruit Fest(6):過關與信息存儲
6.1.1 添加進度條
6.1.2 過關與數據持久化
6.2 Fruit Fest(7):爆炸特效與聲音
6.2.1 爆炸特效
6.2.2 遊戲音樂
6.2.3 後記
第7章 Cocos2d-Lua高級
7.1 網絡通信
7.1.1 network
7.1.2 SimpleTCP
7.1.3 WebSocket
7.2 物理引擎
7.2.1 創建帶物理世界的場景
7.2.2 創建物理邊界
7.2.3 創建受重力作用的精靈
7.2.4 踫撞檢測
7.2.5 完整示例
7.3 攝像機
7.3.1 OpenGL視口
7.3.2 cc.Camera
7.3.3 場景的默認攝像機
7.3.4 自定義攝像機
7.4 自定義事件
7.4.1 CustomEvent
7.4.2 PushCenter
7.5 Lua中使用Protobuf
7.6 擴展Lua接口
7.6.1 Lua C API
7.6.2 Lua棧
7.6.3 Lua Binding實戰(1):tolua++手動綁定
7.6.4 Lua Binding實戰(2):擴展Spine接口
7.7 OpenGL ES 2.0與shader編程
7.7.1 OpenGL ES簡介
7.7.2 OpenGL ES繪制幾何圖形
7.7.3 矩陣變換
7.7.4 紋理貼圖
7.7.5 Cocos2d-Lua中使用自定義shader
第8章 打包與發布
8.1 Android項目的編譯與打包
8.1.1 Build Native
8.1.2 Android Studio打包
8.1.3 命令行打包
8.2 Mac下編譯iOS版本
8.2.1 先決條件
8.2.2 Debug真機調試
8.2.3 Release打包
8.3 Lua源文件的保護
8.3.1 LuaJIT bytecode
8.3.2 PackageScripts.py腳本
8.3.3 修改Lua啟動入口
8.4 加密資源文件
8.4.1 EncodeRes.py腳本
8.4.2 解密設置
8.5 SDK接入
8.5.1 使用LuaJ接入Android SDK
8.5.2 使用Luaoc接入iOS SDK
《Cocos2d-x遊戲開發:手把手教你Lua語言的編程方法/清華開發者書庫》繫統論述了使用Lua語言進行Cocos2d-x遊戲開發的方法與實踐,從Lua語言基礎開始,全面介紹了Cocos2d-x Lua的基礎知識、進階應用和高級編程技術,並以一款“消除”遊戲開發實戰貫穿書中的知識點。全書采用理論結合實踐的編程學習方式,每個章節都提供了豐富的配套實例。該書第1~3章為基礎知識,是使用Cocos2d-x Lua開發遊戲的小知識集合;第4章運用前3章的知識完成“消除”遊戲《Fruit Fest》的核心設計;第5章詳細介紹了Cocos Studio的使用、內存管理、音樂與音效、骨骼動畫等遊戲開發進階知識;第6章運用第5章的知識,實現《Fruit Fest》的音樂、特效和數據存儲等功能;第7章包含了網絡編程、OpenGL ES入門和攝像機等高階遊戲開發技術;第8章詳細介紹了Cocos2d-x Lu等