《Cocos2d-x實戰(JS捲 Cocos2d-JS開發 第2版)/清華遊戲開發叢書》係統介紹瞭Cocos2d-x遊戲編程和開發技術,介紹瞭使用Cocos2d-xJS API中核心類、瓦片地圖、物理引擎、音樂音效、Cocos2d-x GUI控件、Cocos2d-x中的3D特性、數據持久化、闡絡通信、性能優化、多平颱發布、程序代碼管理、兩大應用商店發布産品。
全書分為6篇:基礎篇、進階篇1數據與網絡篇、優化篇、多平颱發布篇和實戰篇。
基礎篇包括第2章~第9章,介紹瞭JavaScript語言基礎、Cocos2d-x介紹、環境搭建、標簽、菜單、精靈、場景、層、動作、動畫和用戶事件。
進階篇包括第10章~第15章,介紹瞭遊戲音樂與音效、粒子係統、瓦片地圖、物理引擎、Cocos2d-xGUI控件和Cocos2d-x中的3D特性。
數據與網絡篇包括第16章~第18章,介紹瞭數據持久化、基於HTTP網絡通信和基於Node.js的Socket.IO網絡通信。
優化篇包括第19章性能優化。
多平颱發布篇包括第20章~第22章,介紹瞭發布到Web平颱、發布到本地Android平颱和發布到本地iOS平颱。
實戰篇包括第23章~第26章,介紹瞭使用Git管理代碼版本、項目實戰:迷失航綫手機遊戲、發布到Google play應用商店和發布到蘋果App Store。
關東升,國內iOS/Cocos技術作傢,iOS技術顧問,Cocos有價值專傢(CVP),智捷課堂首席培訓專傢。擔任51CTO社區iOS技術顧問,精通iOS、Android和Windows及HTML5等移動開發技術。曾先後主持開發大型網絡遊戲《神農訣》的iOS和Android客戶端開發,國傢農産品追溯係統的iPad客戶端開發,酒店預訂係統的iOS客戶端開發,金融係統的ios、Windows及Android客戶端開發。在AppStore上發布數款遊戲和應用軟件,擅長移動平颱的應用和遊戲類項目開發。長期為中國移動研究院、方正科技、大唐電信、中國石油、工商銀行、南方航空、惠普、東軟、NTT等企事業單位提供技術谘詢及員工培訓。著有《iOS開發指南》、《交互設計的藝術》、《Cocos2d-x實戰:C++捲》、《Cocos2d-x實戰:Lua捲》、《Cocos2d-x實戰:工具捲》、《Cocos2d-x實戰:JS捲》等專業圖書。
第1章準備開始
1.1本書學習路綫圖
1.2使用實例代碼
第一篇基礎篇
第2章JavaScript語言基礎
2.1環境搭建
2.1.1JavaScript編輯工具
2.1.2JavaScript運行測試環境
2.1.3HelloJS實例測試
2.2標識符和保留字
2.2.1標識符
2.2.2保留字
2.3常量和變量
2.3.1常量
2.3.2變量
2.3.3命名規範
2.4注釋
2.5JavaScript數據類型
2.5.1數據類型
2.5.2數據類型字麵量
2.5.3數據類型轉換
2.6運算符
2.6.1算術運算符
2.6.2關係運算符
2.6.3邏輯運算符
2.6.4位運算符
2.6.5其他運算符
2.7控製語句
2.7.1分支語句
2.7.2循環語句
2.7.3跳轉語句
2.8數組
2.9函數
2.9.1使用函數
2.9.2變量作用域
2.9.3嵌套函數
2.9.4返迴函數
2.10JavaScript中的麵嚮對象
2.10.1創建對象
2.10.2常用內置對象
2.10.3原型
2.11Cocos2d�瞲 JS API中JavaScript繼承
本章小結
第3章Cocos2d�瞲 JS API與環境搭建
3.1移動平颱遊戲引擎介紹
3.2Cocos2d傢譜
3.3Cocos2d�瞲設計目標
3.4搭建Cocos2d�瞲 JS API開發環境
3.4.1搭建WebStorm開發環境
3.4.2安裝Visual Studio開發工具
3.4.3下載和使用Cocos2d�瞲 JS API官方案例
3.4.4配置Cocos2d�瞲環境
3.4.5使用API文檔
本章小結
第4章Hello Cocos2d�瞲
4.1第一個Cocos2d�瞲 JS API遊戲
4.1.1創建工程
4.1.2工程文件結構
4.1.3代碼解釋
4.1.4本地方式運行
4.1.5調試本地代碼
4.1.6Web方式運行
4.2Cocos2d�瞲核心概念
4.2.1導演
4.2.2場景
4.2.3層
4.2.4精靈
4.2.5菜單
4.3Node與Node層級架構
4.3.1Node中重要的操作
4.3.2Node中重要的屬性
4.3.3遊戲循環與調度
4.4Cocos2d�瞲坐標係
4.4.1UI坐標
4.4.2OpenGL坐標
4.4.3世界坐標和模型坐標
本章小結
第5章標簽和菜單
5.1使用標簽
5.1.1cc.LabelTTF
5.1.2cc.LabelAtlas
5.1.3cc.LabelBMFont
5.2使用菜單
5.2.1文本菜單
5.2.2精靈菜單和圖片菜單
5.2.3開關菜單
本章小結
第6章精靈
6.1Sprite精靈類
6.1.1創建Sprite精靈對象
6.1.2實例: 使用紋理對象創建Sprite對象
6.2精靈的性能優化
6.2.1使用紋理圖集
6.2.2使用精靈幀緩存
本章小結
第7章場景與層
7.1場景與層的關係
7.2場景切換
7.2.1場景切換相關函數
7.2.2場景過渡動畫
7.3場景的生命周期
7.3.1生命周期函數
7.3.2多場景切換生命周期
本章小結
第8章動作、特效和動畫
8.1動作
8.1.1瞬時動作
8.1.2間隔動作
8.1.3組閤動作
8.1.4動作速度控製
8.1.5迴調函數
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.2觸摸事件
9.2.1觸摸事件的時間方麵
9.2.2觸摸事件的空間方麵
9.2.3實例: 單點觸摸事件
9.2.4實例: 多點觸摸事件
9.3鍵盤事件
9.4鼠標事件
9.5加速度計與加速度事件
9.5.1加速度計
9.5.2實例: 運動的小球
本章小結
第二篇進階篇
第10章遊戲背景音樂與音效
10.1Cocos2d�瞲 JS API中音頻文件
10.1.1音頻文件介紹
10.1.2Cocos2d�瞲 JS API跨平颱音頻支持
10.2使用AudioEngine引擎
10.2.1音頻文件的預處理
10.2.2播放背景音樂
10.2.3停止播放背景音樂
10.3實例: 設置背景音樂與音效
10.3.1資源文件編寫
10.3.2HelloWorld場景實現
10.3.3設置場景實現
本章小結
第11章粒子係統
11.1問題的提齣
11.2粒子係統基本概念
11.2.1實例: 打火機
11.2.2粒子發射模式
11.2.3粒子係統屬性
11.3內置粒子係統
11.3.1內置粒子係統
11.3.2實例: 內置粒子係統
11.4自定義粒子係統
本章小結
第12章瓦片地圖
12.1地圖性能問題
12.2Cocos2d�瞲 JS中瓦片地圖API
12.3實例: 忍者無敵
12.3.1設計地圖
12.3.2程序中加載地圖
12.3.3移動精靈
12.3.4檢測碰撞
12.3.5滾動地圖
本章小結
第13章物理引擎
13.1使用物理引擎
13.2Chipmunk引擎
13.2.1Chipmunk核心概念
13.2.2使用Chipmunk物理引擎的一般步驟
13.2.3實例: HelloChipmunk
13.2.4實例: 碰撞檢測
13.2.5實例: 使用關節
本章小結
第14章Cocos2d�瞲 GUI控件
14.1按鈕
14.2ImageView
14.3文本控件
14.3.1Text
14.3.2TextBMFont
14.4CheckBox
14.5LoadingBar
14.6滑塊控件
本章小結
第15章Cocos2d�瞲中的3D特性
15.1一些3D概念
15.1.1網格和模型
15.1.2相機
15.1.3投影
15.2使用3D精靈
15.2.1創建Sprite3D對象
15.2.2實例: 使用模型和紋理Sprite3D對象
15.33D模型文件格式
15.4使用相機
15.4.1創建和設置Camera對象
15.4.2實例: 使用Camera對象
15.53D粒子係統
15.5.1創建PUParticleSystem3D對象
15.5.2實例: 創建Particle Universe 3D粒子
本章小結
第三篇數據與網絡篇
第16章數據持久化
16.1Cocos2d�瞲 API JS中的數據持久化
16.2localStorage數據持久化
16.2.1cc.sys.localStorage API函數
16.2.2實例: MyNotes
本章小結
第17章基於HTTP的網絡通信
17.1網絡結構
17.1.1客戶端服務器結構網絡
17.1.2點對點結構網絡
17.2HTTP與HTTPS協議
17.3使用XMLHttpRequest對象開發客戶端
17.3.1使用XMLHttpRequest對象
17.3.2實例: 重構MyNotes
17.4數據交換格式
17.5JSON數據交換格式
17.5.1文檔結構
17.5.2JSON解碼與編碼
17.5.3實例: 完善MyNotes
本章小結
第18章基於Node.js的Socket.IO網絡通信
18.1Node.js
18.1.1Node.js安裝
18.1.2Node.js測試
18.2使用Socket.IO
18.2.1Socket.IO服務器端開發
18.2.2Cocos2d�瞲 JS API的Socket.IO客戶端
本章小結
第四篇優化篇
第19章性能優化
19.1緩存創建和清除緩存
19.1.1場景與資源
19.1.2緩存創建和清除時機
19.2圖片與紋理優化
19.2.1選擇圖片格式
19.2.2拼圖
19.2.3紋理像素格式
19.2.4背景圖片優化
19.2.5紋理緩存異步加載
19.3JSB內存管理
19.4使用Bake層
19.5使用對象池
19.5.1對象池API
19.5.2實例: 發射子彈
本章小結
第五篇多平颱發布篇
第20章移植到Web平颱
20.1Web服務器與移植
20.1.1Apache HTTP Server安裝
20.1.2移植到Web服務器
20.2問題匯總
20.2.1JS文件的壓縮與代碼混淆
20.2.2判斷平颱
20.2.3資源不能加載問題
本章小結
第21章移植到本地Android平颱
21.1搭建交叉編譯和打包環境
21.1.1Android SDK安裝
21.1.2管理Android SDK
21.1.3管理Android開發模擬器
21.1.4Android NDK安裝
21.1.5設置環境變量
21.2交叉編譯、打包和運行
21.2.1使用cocos命令行工具
21.2.2Android.mk編譯文件
21.3移植問題匯總
21.3.1JavaScript文件編譯問題
21.3.2橫屏與竪屏設置問題
本章小結
第22章移植到本地iOS平颱
22.1iOS開發環境搭建
22.1.1Xcode安裝和卸載
22.1.2Xcode操作界麵
22.2編譯與運行
22.3移植問題匯總
22.3.1iOS平颱聲音移植問題
22.3.2使用PVR紋理格式
22.3.3橫屏與竪屏設置問題
22.4多分辨率屏幕適配
22.4.1問題的提齣
22.4.2分辨率策略
本章小結
第六篇實戰篇
第23章使用Git管理程序代碼版本
23.1代碼版本管理工具——Git
23.1.1版本控製曆史
23.1.2術語和基本概念
23.1.3Git環境配置
23.1.4Git常用命令
23.2代碼托管服務——GitHub
23.2.1創建和配置GitHub賬號
23.2.2創建代碼庫
23.2.3刪除代碼庫
23.2.4派生代碼庫
23.2.5GitHub協同開發
23.3實例: Cocos2d�瞲遊戲項目協同開發
23.3.1提交到GitHub代碼庫
23.3.2剋隆GitHub代碼庫
23.3.3重新獲得GitHub代碼庫
本章小結
第24章Cocos2d�瞲 JS API敏捷開發項目實戰——迷失航綫手機遊戲
24.1迷失航綫遊戲分析與設計
24.1.1迷失航綫故事背景
24.1.2需求分析
24.1.3原型設計
24.1.4遊戲腳本
24.2任務1: 遊戲工程的創建與初始化
24.2.1迭代1.1: 創建工程
24.2.2迭代1.2: 添加資源文件
24.2.3迭代1.3: 添加常量文件SystemConst.js
24.2.4迭代1.4: 多分辨率適配
24.2.5迭代1.5: 配置文件resource.js
24.2.6迭代1.6: 發布到GitHub
24.3任務2: 創建Home場景
24.3.1迭代2.1: 添加場景和層
24.3.2迭代2.2: 添加菜單
24.4任務3: 創建設置場景
24.5任務4: 創建幫助場景
24.6任務5: 遊戲場景實現
24.6.1迭代5.1: 創建敵人精靈
24.6.2迭代5.2: 創建玩傢飛機精靈
24.6.3迭代5.3: 創建炮彈精靈
24.6.4迭代5.4: 初始化遊戲場景
24.6.5迭代5.5: 遊戲場景菜單實現
24.6.6迭代5.6: 玩傢飛機發射炮彈
24.6.7迭代5.7: 炮彈與敵人的碰撞檢測
24.6.8迭代5.8: 玩傢飛機與敵人的碰撞檢測
24.6.9迭代5.9: 玩傢飛機生命值顯示
24.6.10迭代5.10: 顯示玩傢得分情況
24.7任務6: 遊戲結束場景
本章小結
第25章把迷失航綫遊戲發布到Google play 應用商店
25.1榖歌Android應用商店Google play
25.2還有“最後一公裏”
25.2.1JavaScript文件編譯
25.2.2添加圖標
25.2.3生成數字簽名文件
25.2.4應用程序打包
25.3發布産品
25.3.1上傳APK
25.3.2填寫商品詳細信息
25.3.3定價和發布範圍
本章小結
第26章把迷失航綫遊戲發布到蘋果App Store
26.1蘋果的App Store
26.2還有“最後一公裏”
26.2.1添加圖標
26.2.2添加啓動界麵
26.2.3修改發布産品屬性
26.3iOS設備測試
26.3.1Xcode設置
26.3.2設備設置
26.4為發布進行編譯
26.4.1創建開發者證書
26.4.2創建App ID
26.4.3創建描述文件
26.4.4發布編譯
26.5發布上架
26.5.1創建應用
26.5.2應用定價
26.5.3基本信息輸入
26.5.4上傳應用
26.5.5提交審核
Cocos引擎已經步入第五個年頭。我非常高興地看到,市麵上高質量的Cocos引擎相關書籍越來越多。其中,關東升老師及其團隊創作的“Cocos2d-x實戰”係列圖書涵蓋瞭C++捲、JS捲、Lua捲、工具捲、CocoStudio捲,組成瞭一個較為完整的係統,極具特色。此前,《Cocos2d-x實戰: C++捲》已經發行,並在開發者中反響熱烈。如今,關老師再次創作的《Cocos2d-x實戰: JS捲——Cocos2d-JS開發》,是國內第一本JS相關圖書,非常值得一讀。
Cocos2d-JS是Cocos的一個重要分支,它無縫融閤瞭Cocos2d-HTML5快速原型能力和Cocos2d-x原生高性能、簡單、易用的API,配閤完整的工具鏈支持,讓開發更加高效,實現一次開發跨全平颱部署在網頁和原生應用平颱上。
經過兩年多的發展,Cocos2d-JS已經非常成熟、值得信賴。現在,市麵上有許多大傢耳熟能詳的優秀作品就是采用Cocos2d-JS打造的,比如新上綫的微信遊戲《仙俠道》、DeNA的《變形金剛: 崛起》和《航海王: 啓航》、EA的《FIFA 2014巴西世界杯》、美國大魚遊戲的《Big Fish Casino》、邊鋒的《三國殺傳奇》、KooGame的《狂斬三國2》,以及流行的途遊棋牌遊戲係列,等等。此外,Cocos2d-JS也是目前Qzone玩吧網頁遊戲使用最廣泛的遊戲引擎,並且是Facebook官方推薦的跨平颱遊戲引擎。
手機遊戲行業風雲變幻,HTML5遊戲及應用因為自由開放的分發方式、多樣的流量獲取方式、更高的轉化率等,獲得越來越多的青睞。對於有興趣在手遊和HTML5領域進行耕耘的開發者朋友們,關東升老師這本《Cocos2d-x實戰: JS捲——Cocos2d-JS開發》是很好的參考圖書。此外,該書係統地論述瞭Cocos2d-JS遊戲開發的理論與實踐,涵蓋瞭最新版本的Cocos2d-JS v3.x核心類、瓦片地圖、物理引擎、數據持久化、性能優化、數據通信、跨網頁和原生平颱遊戲發布等多個方麵。全書內容循序漸進,結構完整,並結閤多個遊戲實例詳解,非常適閤入門者學習。
非常感謝關老師,這套Cocos引擎係列圖書必將為大量想要進入移動遊戲開發與HTML5遊戲開發的朋友提供極大的幫助。
祝廣大讀者在跨原生與HTML5的遊戲開發世界裏自由遨遊,實現自己的夢想!
這本書,我覺得它更像是一本“工具書”,但又比一般的工具書多瞭幾分人情味。作者在講解每一個功能點的時候,都會穿插一些自己在實際開發中遇到的坑和解決方法。我特彆欣賞這種“接地氣”的講解方式,因為這能讓我意識到,即便是在學習過程中,也同樣會麵臨各種各樣的問題,而這些問題往往也是其他開發者所共有的。書中對很多API的講解都非常透徹,不僅僅是告訴你怎麼用,還會解釋為什麼這麼用,背後的原理是什麼。我喜歡它在講解“事件係統”的時候,對不同事件的觸發機製和處理流程進行瞭詳細的描述,這讓我對遊戲中的交互邏輯有瞭更清晰的認識。另外,書中對於“UI係統”的講解也讓我眼前一亮,用過的框架都有自己的UI解決方案,但Cocos2d-x的UI係統,通過這本書的闡述,我能感受到它在靈活性和功能上的強大之處。我個人特彆期待書中能夠增加一些關於“第三方庫集成”的案例,比如如何將一些流行的JS庫引入到Cocos2d-x項目中,以及如何處理它們之間的兼容性問題。
評分這本書,客觀來說,對於想要係統學習 Cocos2d-JS 開發的開發者來說,絕對是一份寶藏。我之前嘗試過自己摸索,走瞭不少彎路,也看瞭不少網上的零散教程,但總感覺不成體係。這本《Cocos2d-x實戰(JS捲)》恰好填補瞭我的這個需求。它從最基礎的引擎安裝和環境配置講起,一步步深入到比較復雜的API和設計模式。我尤其看重其中關於“性能優化”和“資源管理”的章節。在實際開發中,這兩點往往是決定遊戲成敗的關鍵。很多時候,我們寫齣的遊戲可能在功能上都沒問題,但一旦場景復雜起來,或者玩傢數量增多,性能就開始齣現瓶頸。這本書能提供一些行之有效的優化策略,例如如何閤理地管理內存,如何減少繪製調用,如何利用C++層來實現性能敏感的代碼,這對我來說非常有指導意義。而且,書中還提到瞭很多實用的工具和調試技巧,能夠幫助我們更高效地發現和解決問題。我希望書中能有更多關於跨平颱開發的討論,例如如何在不同設備上進行測試和適配,以及如何處理不同屏幕分辨率的適配問題。
評分這本書,嗯,怎麼說呢,它給我的感覺就像是一位經驗豐富的老開發者,帶著我一點一點地深入 Cocos2d-JS 的世界。我是一名業餘愛好者,平時工作之餘纔接觸編程,所以對一些復雜的技術概念,我需要更具象化的解釋。這本書在這方麵做得相當不錯,它沒有上來就拋齣一堆專業術語,而是循序漸進地引導讀者理解。特彆是關於一些核心概念的闡述,作者用瞭非常形象的比喻和生動的例子,讓我這個初學者也能很快領會。我尤其喜歡其中關於“精靈(Sprite)”和“場景(Scene)”的講解,雖然我之前對這兩個概念有過一些模糊的認識,但通過書中的細緻剖析,我纔真正理解瞭它們在遊戲架構中的作用和相互關係。更讓我驚喜的是,書中對於很多功能的實現,都提供瞭不止一種解決方案,並且會分析它們的優劣,這讓我能夠站在更高的角度去思考問題,而不僅僅是模仿代碼。這種“授人以漁”的教學方式,對於想要提升自身技術能力的我來說,價值非常大。我期待著書中能有更多關於遊戲邏輯設計的探討,比如如何組織代碼,如何處理玩傢輸入,以及如何實現一些常見的遊戲交互。
評分這本書,它給我的感覺是,作者並不是想把所有的知識點都一股腦地塞給我,而是希望我能真正地理解並掌握 Cocos2d-JS 的開發理念。在閱讀過程中,我常常會被書中一些“引申思考”的內容所吸引。例如,在講到“狀態機”的應用時,作者不僅給齣瞭實現代碼,還詳細分析瞭在不同類型的遊戲中,狀態機如何幫助我們更好地管理遊戲邏輯。這種深入的講解,能夠幫助我提升自己的編程思想,而不是僅僅停留在API的層麵。我尤其喜歡書中關於“網絡通信”的章節,雖然我目前還沒有涉及到這方麵的開發,但通過閱讀,我瞭解到瞭 Cocos2d-JS 在網絡通信方麵的一些可能性,例如如何實現多人在綫遊戲。這為我未來的發展方嚮提供瞭寶貴的參考。而且,書中還提到瞭不少關於“版本更新”和“熱更新”的討論,這對於遊戲的長期運營來說至關重要。總的來說,這本書提供瞭一個非常全麵的 Cocos2d-JS 開發視角,並且在各個方麵都提供瞭深入的見解。我希望書中能有更多關於“遊戲AI”的探討,例如如何實現一些簡單的尋路算法,或者如何設計NPC的行為邏輯。
評分這本書,拿到手的時候,心裏就有點小激動。作為一名剛入行不久的遊戲開發者,Cocos2d-x一直是我非常關注的引擎,特彆是JS版本,因為它上手相對容易,而且能快速實現很多創意。拿到這本《Cocos2d-x實戰(JS捲)》,我第一個想到的就是它的“實戰”二字。封麵上的“清華遊戲開發叢書”也為這本書增添瞭一份權威感,讓我覺得內容一定紮實,不會是那種浮於錶麵的講解。迫不及待地翻開,首先映入眼簾的是目錄,我大緻瀏覽瞭一下,感覺涵蓋的內容非常全麵,從基礎概念的引入,到核心功能的講解,再到一些進階的技巧和性能優化,都有涉及。雖然我還沒來得及深入研讀每一個章節,但僅從目錄的結構和章節的標題來看,我就能感受到作者在組織內容上的用心。尤其是看到一些像是“場景管理與切換”、“動畫係統詳解”、“物理引擎集成”這樣的章節,這些都是開發中經常會遇到且至關重要的部分,能夠在一個地方找到詳盡的講解,對我來說是極大的便利。我對書中的示例代碼抱有很高的期待,希望它們能夠清晰易懂,並且能夠真正地指導我解決開發中的實際問題。
評分剛到,還沒看
評分學習中,書不錯,
評分遊戲開發必備
評分書籍已收到,質量很好,快遞很快,好評
評分挺不錯的,很好
評分寶貝不錯,快遞很給力
評分此用戶未及時評價,係統默認好評。
評分寶貝不錯,快遞很給力
評分趁著打摺優惠,囤書以便學習
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有