發表於2024-12-26
清華開發者書庫:Cocos2d-x之Lua核心編程(第2版) pdf epub mobi txt 電子書 下載
劉剋男(@劉剋男_u0u0):畢業於電子科技大學計算機科學與技術專業。2006年起在電子科技大學嵌入式國傢實驗室從事跨平颱應用引擎研究。在跨平颱引擎項目中擔任引擎1.x開發部負責人,擁有4年技術團隊管理經驗。C/C++功底深厚,跨平颱經驗豐富,先後開發過的平颱有WindowsMobile、Brew、iOS、Android、WindowPhone8。2013年加入觸控,負責Cocos2d-x引擎的推廣。編寫瞭大量優質教程,涉及OpenGLES、Chipmunk、Cocos2d-x等技術。2015年調任觸控教育創新中心教學總監,負責Cocos2d-x課程設計與實施,同年被四川大學聘為校外創新與創業指導教師。
作為使用Lua進行Cocos開發的專業圖書,它不但在Lua語言和引擎方麵有詳細的講解,更在引擎的諸多細節上花費瞭大量心思,包括緩存、內存管理與監控、數據加密等,是不可多得的Cocos2d-x開發進階教材!
——卞安(網名:紅孩兒,國內遊戲開發技術專傢)
本書詳盡地講述瞭Cocos2d引擎的起源與發展,不僅讓初學者深入瞭解到該引擎的來龍去脈,更對Cocos2d眾多版本的選擇上給予瞭重要的剖析與建議。 作者還通過由淺入深的教學方式來講解項目實戰開發的過程,介紹瞭許多實戰經驗,避免初學者在學習過程中走彎路。全書重點講解Cocos2dx-Lua,其跨平颱性和熱更新機製已是當今遊戲開發中的剛性需求!因此我建議學習Cocos2d引擎的讀者把此書列為入門!
—— 李華明(網名:Himi,國內遊戲開發技術專傢,網易《功夫熊貓》遊戲團隊CTO)
本書是由 Cocos 官方編寫的 Cocos2d-x Lua 實戰書籍。本書內容由淺及深,從 Cocos2d-x Lua 的基本概念、Lua 編程基礎,到完整的遊戲設計和實現都有詳細論述。 除瞭基礎知識和遊戲開發實踐,本書還包含瞭 Cocos2d-x Lua 在內存管理、性能優化、網絡訪問、UI 庫等進階內容。 由於本書由觸控科技精通 Cocos2d-x Lua 的資深開發人員親自編寫,完全遵循 Cocos2d-x Lua 的實踐方法。所以不管是即將進入手遊行業的 Cocos2d-x Lua 的初學者,還是經驗豐富的開發者,本書都是閤適的學習資料和參考手冊。
—— 廖宇雷(Cocos2d-lua引擎作者)
近幾年有幸目睹瞭Cocos2d-x逐漸發展壯大,並成為瞭開源項目的驕傲。C++雖然是遊戲開發的主流技術,但對於初學遊戲開發的人來說過於復雜且不易上手。Lua是國內腳本開發技術的主流,自Cocos2d-x提供Lua-binding腳本技術以來,有效地降低瞭學習難度,提高瞭開發效率,對Cocos2d-x技術的推廣普及起到瞭不可估量的作用。楊雍團隊多年以來一直從事Cocos2d-x的研究和推廣工作,經驗豐富。隨著這本書的交付齣版,Cocos2d-x技術和Cocos2d-x社區必將有一個更加光明的未來……
——嶽陽(網名:老G,資深Cocos技術愛好者)
一年前,泰然網教主楊雍跟我說要齣一本 Cocos2d-x 入門圖書。今天,他真做到瞭。本書是泰然網的誠意之作,它以 Cocos2d-Lua 為背景,從 Lua 語言基礎到 Cocos2d-x 核心知識點,由淺入深,全麵論述。本書以一個完整的遊戲實例收尾,幫助讀者快速動手實踐。
——屈光輝 (泰然網ID:子龍山人,國內遊戲開發技術專傢,現任職於Cocos引擎團隊)
目錄
第1章Cocos2d�睱ua
1.1概述
1.1.1Cocos2d的起源
1.1.2Cocos2d�瞲的誕生
1.1.3Cocos2d�睱ua的發展
1.2版本介紹
1.2.1Cocos2d�瞲版本介紹(C++)
1.2.2Cocos2d�睱ua版本介紹
第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章Cocos2d�睱ua基礎
3.1Cocos2d�睱ua開發環境配置
3.1.1安裝Cocos2d�睱ua
3.1.2安裝Sublime與QuickXDev
3.1.3測試開發環境
3.2引擎架構與目錄結構
3.2.1引擎架構
3.2.2引擎文件結構
3.2.3項目文件結構
3.3MVC框架
3.3.1什麼是MVC
3.3.2Cocos2d�睱ua中的類實現
3.3.3Cocos2d�睱ua的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�睱ua坐標係
3.5.3世界坐標係VS本地坐標係
3.5.4錨點
3.5.5忽略錨點
3.5.6ZOrder與渲染順序
3.6文本標簽
3.6.1TTF文本標簽
3.6.2BMFont文本標簽
3.6.3UILabel控件
3.6.4Mac下使用GlyphDesigner製作字體
3.6.5Windows下使用BMFont製作字體
3.7按鈕
3.7.1UIButton按鈕
3.7.2UIPushButton按鈕
3.7.3UICheckBoxButton按鈕
3.7.4UICheckBoxButtonGroup按鈕
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�瞲中的多分辨率適配
3.13.2Cocos2d�睱ua中的多分辨率適配
第4章消除遊戲實戰(一)
4.1FruitFest(1):主場景
4.1.1遊戲玩法
4.1.2美術設計
4.1.3分辨率適配策略
4.1.4主場景
4.2FruitFest(2):創建PlayScene
4.2.1準備BMFont
4.2.2創建PlayScene
4.2.3添加轉場代碼
4.2.4添加UI
4.3FruitFest(3):初始化水果矩陣
4.3.1水果類
4.3.2矩陣算法
4.3.3掉落算法
4.3.4矩陣初始化的代碼實現
4.4FruitFest(4):選中水果
4.4.1綁定觸摸事件
4.4.2清除已高亮區域
4.4.3高亮算法
4.4.4分數算法
4.5FruitFest(5):消除與掉落
4.5.1消除高亮水果
4.5.2掉落與補全
第5章Cocos2d�睱ua進階
5.1UI控件
5.1.1輸入控件
5.1.2進度條控件
5.1.3滑動條控件
5.1.4滾動視圖控件
5.1.5列錶視圖控件
5.1.6分頁視圖控件
5.2瓦片地圖
5.2.1用Tiled製作瓦片地圖
5.2.2地圖視角
5.2.3在Cocos2d�睱ua中使用TMX
5.3精靈批處理
5.3.1手動批處理
5.3.2自動批處理
5.3.3手動批處理VS自動批處理
5.4碰撞檢測
5.4.1點與點的碰撞
5.4.2點與矩形的碰撞
5.4.3圓與圓之間的碰撞
5.4.4軸對齊矩形之間的碰撞
5.4.5非軸對齊矩形之間的碰撞
5.5內存管理
5.5.1Lua內存管理
5.5.2Cocos2d�睱ua內存管理
5.5.3紋理緩存
5.5.4精靈幀緩存
5.6數據與存儲
5.6.1JSON數據
5.6.2crypto數據編碼
5.6.3UserDefault數據存儲
5.6.4GameState數據存儲
5.6.5文件讀寫
5.7背景音樂與音效
5.8粒子係統
5.8.1什麼是粒子係統
5.8.2Cocos2d�睱ua中的粒子係統
5.8.3粒子係統批處理節點
5.8.4粒子屬性
5.8.5粒子編輯器介紹
5.8.6使用粒子係統
5.9Spine骨骼動畫
5.9.1Spine運行庫
5.9.2用法示例
5.10裁剪節點
5.11渲染紋理
第6章消除遊戲實戰(二)
6.1FruitFest(6):過關與信息存儲
6.1.1添加進度條
6.1.2過關與數據持久化
6.2FruitFest(7):爆炸特效與聲音
6.2.1爆炸特效
6.2.2遊戲音樂
6.2.3後記
第7章Cocos2d�睱ua高級
7.1網絡通信
7.1.1network
7.1.2SocketTCP
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.1加載EventProtocol組件
7.4.2主要接口
7.4.3完整示例
7.5有限狀態機
7.5.1基本用法
7.5.2完整示例
7.6擴展Lua接口
7.6.1LuaCAPI
7.6.2Lua棧
7.6.3LuaBinding實戰(1):tolua++手動綁定
7.6.4LuaBinding實戰(2):擴展Spine接口
7.7OpenGLES2.0與shader編程
7.7.1OpenGLES概述
7.7.2OpenGLES繪製幾何圖形
7.7.3矩陣變換
7.7.4紋理貼圖
7.7.5Cocos2d�睱ua中使用自定義shader
第8章打包與發布
8.1Android項目的編譯與打包
8.1.1安裝JDK
8.1.2BuildNative
8.1.3AndroidStudio打包
8.2Mac下編譯iOS版本
8.2.1先決條件
8.2.2Debug真機調試
8.2.3Release打包
8.3發布時加密Lua源文件
8.3.1compile_scripts腳本
8.3.2去掉源代碼引用
8.3.3修改Lua啓動入口
8.4發布時加密圖片資源文件
8.4.1encrypt_res腳本
8.4.2資源加密示例
8.5SDK接入
8.5.1使用luaj接入AndroidSDK
8.5.2使用luaoc接入iOSSDK
前言
本書分8章,知識由淺入深、步步推進,建議按照順序閱讀。
第1章介紹Cocos2d�睱ua背景,Cocos2d各版本之間的關係。
第2章旨在引導讀者快速入門,已有Lua編程基礎的讀者,可跳過這一部分。
第3章介紹Cocos2d�睱ua基礎,本章是開發遊戲必須掌握的知識結構。
第4章介紹FruitFest消除遊戲的第一部分,實現瞭遊戲的核心玩法。本章應用Cocos2d�睱ua基礎知識,展示瞭遊戲開發的主要流程。
第5章介紹Cocos2d�睱ua進階,涵蓋UI控件、瓦片地圖、內存管理以及數據存儲等內容。
第6章介紹FruitFest遊戲的第二部分,為遊戲添加瞭音樂與粒子特效。
第7章介紹Cocos2d�睱ua高級內容,雖然其中的網絡通信和物理引擎不是每個遊戲都會用到,但它們是引擎必不可少的一部分。自定義事件和狀態機為遊戲係統架構提供基礎支撐,而LuaBinding要求熟練掌握C語言開發,它們都是為高級工程師準備的。
第8章介紹打包與發布。之所以把該部分放在最後,是因為Cocos2d�睱ua提供的Player模擬器已足夠應對遊戲的前期開發,通過Player測試遊戲將為開發者節省大量時間。
適用版本
本書基於Quick�睠ocos2dx�睠ommunity3.6.4版本撰寫,由於Quick框架對接口穩定性所做的貢獻,本書與引擎功能模塊相關的章節適用於Cocos2d�睱uav3.3Final之後的所有版本。可以在http://cocos2d�瞝ua.org/download/index.md下載到最新的Cocos2d�睱ua引擎。
注:
本書不適用於Cocos2d�睱ua2.x分支版本。
書中實例
本書以理論結閤實踐,各章均配備瞭測試用例。其中第4章和第6章以FruitFest展示瞭完整遊戲的開發流程,每一節各介紹一個獨立的功能並配備實例代碼,讓初學者充分體驗到遊戲開發的細節。
讀者可以從本書的主頁(http://cocos2d�瞝ua.org/book/index.md)免費獲取所有章節配套的最新實例代碼。
讀者對象
本書作為Cocos2d�睱ua的權威書籍,從Lua語言基礎開始,全麵覆蓋Cocos2d�睱ua基礎、進階和高級編程,並指導讀者逐步完成一款消除遊戲的開發。
對於Cocos2d新手而言,本書可以作為手機遊戲開發的入門書籍。
對於有經驗的手遊開發者而言,本書依然是進行Cocos2d�睱ua開發必不可少的參考手冊,大量的實例代碼可以幫助讀者節省寶貴的時間。
對於院校師生而言,本書的編排完全按照學習順序係統展開,是教材的不二之選。
由於筆者水平有限,書中內容難免會有不妥或者疏漏,歡迎讀者批評指正。
作者
2017年5月
基礎書籍,新手可以看
評分實用
評分快遞很快 包裝很好 沒有損壞 正版
評分實用
評分書很好,好好好好好好好好好
評分再啃啃啃掉它
評分快遞很快 包裝很好 沒有損壞 正版
評分好好好好好好好好好好好好好好好好
評分不錯
清華開發者書庫:Cocos2d-x之Lua核心編程(第2版) pdf epub mobi txt 電子書 下載