劉剋男(@劉剋男_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進行開發的開發者,我一直在尋找一本能夠真正幫助我“內功”提升的書。《清華開發者書庫:Cocos2d-x之Lua核心編程(第2版)》這個名字直接戳中瞭我的痛點。我感覺目前市麵上關於Cocos2d-x的書籍,很多側重於API的介紹和簡單案例的實現,但對於Lua語言本身在引擎深層是如何工作的,以及如何通過對Lua的深入理解來優化遊戲性能,這方麵的內容相對匱乏。我非常期待這本書能夠深入講解Lua的虛擬機,它的執行模型,以及垃圾迴收機製的具體工作流程,並結閤Cocos2d-x的場景,分析這些機製在遊戲開發中可能帶來的性能問題以及對應的解決方案。例如,如何有效地管理Lua對象的生命周期,如何避免不必要的內存分配和GC壓力,如何編寫高效的Lua函數,甚至包括元錶(metatable)在Cocos2d-x中的高級應用和優化思路。如果這本書能在這方麵提供清晰的指導和實用的技巧,那絕對會是我案頭必備的一本參考書。
評分我是一名Cocos2d-x的初學者,但因為項目需求,我必須快速上手,並且希望能夠寫齣高質量的代碼。在學習過程中,我發現Lua腳本是Cocos2d-x開發的重要組成部分,但很多時候我隻能照貓畫虎,對Lua本身的特性以及它在Cocos2d-x中的運行原理瞭解不多。這本書的齣現,對我來說是一個巨大的福音。《清華開發者書庫:Cocos2d-x之Lua核心編程(第2版)》這個標題讓我覺得它會是一本理論與實踐並重,且側重於“核心”的指導書。我特彆希望這本書能夠從Lua語言的根本齣發,解釋它的數據結構,例如錶的實現原理,以及這些原理如何影響我們在Cocos2d-x中進行數據存儲和邏輯處理。同時,我也希望能瞭解Lua的函數調用機製,以及如何在Cocos2d-x中實現高效的事件處理和消息傳遞。更重要的是,我希望這本書能幫助我理解Lua腳本與C++層交互的底層機製,比如函數棧的操作,以及如何通過良好的設計避免潛在的性能陷阱。這些都是我目前感覺比較模糊但又非常關鍵的地方。
評分我一直對遊戲開發充滿熱情,Cocos2d-x是我的首選引擎之一,因為它跨平颱且性能不錯。然而,隨著項目越來越復雜,我越來越感受到對Lua腳本引擎理解的不足。在很多情況下,我能夠調用API實現功能,但當遇到性能瓶頸或者調試一些難以捉摸的Bug時,就顯得力不從心瞭。《清華開發者書庫:Cocos2d-x之Lua核心編程(第2版)》這個書名本身就非常有吸引力,它直擊瞭開發者在Lua層麵進行深度優化的需求。我期望這本書不僅僅是關於Lua語法的復習,更重要的是它能深入剖析Lua在Cocos2d-x架構下的運行原理,例如,Lua的協程機製如何在Cocos2d-x中實現異步操作?錶的實現機製對其在遊戲邏輯中的頻繁使用會有怎樣的性能影響?內存池的管理在Lua腳本中是否能有更精細化的控製?這些都是我在實際開發中常常思考但難以找到係統性解答的問題。我希望這本書能提供一些高級的技巧和最佳實踐,幫助我寫齣更簡潔、高效、易於維護的Lua代碼,真正做到“核心編程”,而不是停留在錶麵的API調用。
評分這本《清華開發者書庫:Cocos2d-x之Lua核心編程(第2版)》我真的是期待瞭好久,之前一直用Cocos2d-x開發,但總感覺Lua這塊的底層理解不夠深入,很多時候都是知其然不知其所以然。市麵上相關的書不少,但很多要麼講得很基礎,要麼就跳躍性太強,讓我這種想精進技術的開發者感到有些迷茫。這次看到清華開發者書庫齣瞭Lua核心編程的第二版,而且是針對Cocos2d-x的,簡直是正中下懷。我希望這本書能把Lua在Cocos2d-x中的應用講得更透徹,比如Lua的內存管理機製如何影響Cocos2d-x的性能,GC(垃圾迴收)的細節對遊戲運行會不會有肉眼可見的影響。還有就是Lua與C++之間的通信,這部分絕對是Cocos2d-x開發中繞不開的痛點,希望書中能有詳細的講解,包括各種傳遞數據的方式,性能上的權衡,以及如何寫齣更健壯、易於維護的C++與Lua交互代碼。我一直覺得,掌握瞭核心,纔能更好地利用框架,而不是被框架牽著鼻子走。這本書的齣現,讓我看到瞭提升技術棧、寫齣更高效、更穩定遊戲的希望。
評分在遊戲開發的實踐中,性能優化永遠是繞不開的話題,而對於使用Cocos2d-x的開發者來說,Lua扮演著至關重要的角色。我一直在尋找一本能夠深入剖析Lua腳本在Cocos2d-x引擎中性能錶現的書籍,幫助我理解“為什麼”和“怎麼做”。《清華開發者書庫:Cocos2d-x之Lua核心編程(第2版)》這個名字讓我眼前一亮,它點明瞭主題——Lua的核心編程。我期待這本書能夠不僅僅是停留在API的講解,而是深入到Lua語言本身的運行時特性,例如它的閉包(closure)是如何工作的,它們對內存使用和性能有什麼影響?Lua的迭代器(iterator)在Cocos2d-x中的應用場景有哪些,又該如何寫齣高效的迭代器?我對Lua的協程(coroutine)在實現復雜遊戲邏輯,比如AI或者任務係統時,其底層的實現機製以及如何在Cocos2d-x中進行有效的利用非常感興趣。這本書能否提供一些關於Lua代碼重構、性能分析工具的使用,以及如何通過Lua腳本的精細化管理來提升整個Cocos2d-x項目的穩定性和響應速度?這些都是我在實際工作中迫切需要解決的問題。
評分好,是正版。。。。。。。。。。。。。
評分好好....-----
評分很不錯,,。
評分意外的收獲,書還沒看,看著可以
評分非常好
評分書名是2dx-lua內容是2d-lua
評分質量不錯,就是沒包郵
評分很不錯,,。
評分不錯
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有