Cocos2d-x 游戲開發 -- 手把手教你 Lua 語言的編程方法

Cocos2d-x 游戲開發 -- 手把手教你 Lua 語言的編程方法

作者: 劉克男
出版社: 清華大學
出版在: 2020-01-01
ISBN-13: 9787302536703
ISBN-10: 7302536708





內容描述


第1~3章為基礎知識,是使用Cocos2d-x Lua開發游戲的必備知識集合;第4章和第6章以實際作品“FruitFest”展示了完整的游戲開發流程;第5章包行OpenGL ES等游戲開發進階知識,其中介紹的功能是絕大多數游戲都需要的,熟知這些知識可以在開發游戲功能模塊的時候更加得心應手;第7~8章為高級編程技術,為游戲產品發布階段提供有力支撐。


目錄大綱


目錄
 
第1章Cocos2dLua
1.1Cocos2d簡介
1.1.1Cocos2d的起源
1.1.2Cocos2dx的誕生
1.1.3Cocos2dLua的發展
1.2版本簡介
1.2.1Cocos2dx版本簡介(C++)
1.2.2Cocos2dLua版本簡介
 
第2章Lua編程
2.1Lua在Windows下的運行環境搭建
2.1.1安裝
2.1.2運行
2.2Lua基礎
2.2.1Lua簡介
2.2.2Lua語法
2.3Lua面向對象
2.3.1metatable(元表)
2.3.2重要元方法簡介
2.3.3封裝
2.3.4繼承
2.3.5多態
 
第3章CocosLua基礎
3.1Cocos2d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.3MVC框架
3.3.1什麼是MVC
3.3.2Cocos2dLua中的類實現
3.3.3Cocos2d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.6ZOrder與渲染順序
3.6文本標籤
3.6.1TTF文本標籤
3.6.2BMFont文本標籤
3.6.3圖集文本標籤
3.6.4Mac下使用Glyph Designer製作字體
3.6.5Windows下使用BMFont製作字體
3.7按鈕
3.7.1ccui.Button
3.7.2ccui.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.1Cocos2dx多分辨率適配
3.13.2Cocos2dLua中的多分辨率適配
 
第4章消除遊戲實戰(1)
4.1Fruit Fest(1): 主場景
4.1.1遊戲玩法
4.1.2美術設計
4.1.3分辨率適配策略
4.1.4主場景
4.2Fruit Fest(2): 創建PlayScene
4.2.1準備BMFont
4.2.2創建PlayScene
4.2.3添加轉場代碼
4.2.4添加UI
4.3Fruit Fest(3): 初始化水果矩陣
4.3.1水果類
4.3.2矩陣算法
4.3.3掉落算法
4.3.4矩陣初始化的代碼實現
4.4Fruit Fest(4): 選中水果
4.4.1綁定觸摸事件
4.4.2清除已高亮區域
4.4.3高亮算法
4.4.4分數算法
4.5Fruit Fest(5): 消除與掉落
4.5.1消除高亮水果
4.5.2掉落與補全
 
第5章Cocos2dLua進階
5.1UI控件
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.2Cocos Studio編輯器
5.2.1UI編輯基礎
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.1Lua內存管理
5.6.2Cocos2dLua內存管理
5.6.3紋理緩存
5.6.4精靈幀緩存
5.7數據與存儲
5.7.1JSON數據
5.7.2crypto數據編碼
5.7.3UserDefault數據存儲
5.7.4FileUtils文件讀寫
5.7.5Lua文件讀寫
5.8背景音樂與音效
5.9粒子系統
5.9.1什麼是粒子系統
5.9.2Cocos2dLua中的粒子系統
5.9.3粒子系統批處理節點
5.9.4粒子屬性
5.9.5粒子編輯器
5.9.6使用粒子系統
5.10骨骼動畫
5.10.1Spine
5.10.2DragonBones
5.11裁剪節點
5.12渲染紋理
 
第6章消除遊戲實戰(2)
6.1Fruit Fest(6): 過關與信息存儲
6.1.1添加進度條
6.1.2過關與數據持久化
6.2Fruit Fest(7): 爆炸特效與聲音
6.2.1爆炸特效
6.2.2遊戲音樂
6.2.3後記
 
第7章Cocos2dLua高級
7.1網絡通信
7.1.1network
7.1.2SimpleTCP
7.1.3WebSocket
7.2物理引擎
7.2.1創建帶物理世界的場景
7.2.2創建物理邊界
7.2.3創建受重力作用的精靈
7.2.4碰撞檢測
7.2.5完整示例
7.3攝像機
7.3.1OpenGL視口
7.3.2cc.Camera
7.3.3場景的默認攝像機
7.3.4自定義攝像機
7.4自定義事件
7.4.1CustomEvent
7.4.2PushCenter
7.5Lua中使用Protobuf
7.6擴展Lua接口
7.6.1Lua C API
7.6.2Lua棧
7.6.3Lua Binding實戰(1): tolua++手動綁定
7.6.4Lua Binding實戰(2): 擴展Spine接口
7.7OpenGL ES 2.0與shader編程
7.7.1OpenGL ES簡介
7.7.2OpenGL ES繪製幾何圖形
7.7.3矩陣變換
7.7.4紋理貼圖
7.7.5Cocos2dLua中使用自定義shader
 
第8章打包與發布
8.1Android項目的編譯與打包
8.1.1Build Native
8.1.2Android Studio打包
8.1.3命令行打包
8.2Mac下編譯iOS版本
8.2.1先決條件
8.2.2Debug真機調試
8.2.3Release打包
8.3Lua源文件的保護
8.3.1LuaJIT bytecode
8.3.2PackageScripts.py腳本
8.3.3修改Lua啟動入口
8.4加密資源文件
8.4.1EncodeRes.py腳本
8.4.2解密設置
8.5SDK接入
8.5.1使用LuaJ接入Android SDK
8.5.2使用Luaoc接入iOS SDK


作者介紹


劉克男,畢業於電子科技大學計算機科學與計算專業。2006年起在電子科技大學嵌入式國家實驗室從事跨平台應用引擎研究。在跨平台引擎項目中擔任引擎1.x開發部負責人,擁有多年團隊管理經驗。2013年加入觸控科技,負責Cocos2d-x引擎的推廣。2015年調任觸控教育創新中心教學總監,負責Cocos2d-x官方課程設計與實施。2019年加入成都觸控未來擔任技術總監。




相關書籍

GPGPU Programming for Games and Science (Hardcover)

作者 David H. Eberly

2020-01-01

Blender 2.8 for architecture: Modeling and rendering with Eevee and Cycles

作者 Brito Allan

2020-01-01

Mastering Unity 2017 Game Development with C# - Second Edition

作者 Alan Thorn

2020-01-01