Cocos Creator游戲開發實戰》 ——1.1.2 Cocos Creator的組成">《Cocos Creator游戲開發實戰》 ——1.1.2 Cocos Creator的組成
1080
2025-04-01
游戲開發與設計技術叢書
Cocos Creator游戲開發實戰
滿碩泉 著
Forword? 序 一
從入行那天起我就認為,程序開發這一行,不是為了向人證明我們的技術有多牛,也不是為了僅僅成為一個很牛的程序員,而是為了有朝一日能開發出自己夢想中的那款游戲!
最初認識滿碩泉,是2012年通過他的博客,那時我是Cocos官方開發團隊的核心成員之一(當年Cocos的C++版本名稱為Cocos2D-X,后來社區所有版本統稱為Cocos),當時我們開發者社區遠不如現在發達,官方團隊人力有限,所以更多是專注于技術研發,官方文檔也寥寥無幾。而以滿碩泉為首的一批資深游戲開發工程師,開始成為Cocos技術布道的中堅力量。
Cocos從2010年發布第一個版本到現在,歷經9個春秋,目前累計擁有超過100萬的注冊開發者,超過30萬的月活躍開發者,在移動游戲的通用引擎領域,其市場占有率國內第一,全球第二,而且遠遠甩開全球第三名占有的市場份額(是其7倍)。
2012年開始,Cocos2D-X(C++版本)獨立于Cocos2D社區,并在后來幾年統一Cocos2D社區所有語言版本,改名為Cocos。從2013年開始,市面上不斷涌現出手游現象級產品,包括從《捕魚達人》《保衛蘿卜》《我叫MT》《刀塔傳奇》《別踩白塊》等,到近年的《夢幻西游》《火焰紋章》《熱血傳奇》《征途》等大作。
也就是說,如果你在中國做游戲,不論你的研發預算是幾萬、幾十萬還是幾百萬元,你都可以使用這套開源、免費,經過數以萬計游戲證明過的成熟引擎,開發出商業成功的游戲,做到幾億的月流水,并建立幾十億估值的公司,最終實現財富自由。Cocos如今已打破了游戲大廠的技術壁壘,使用Cocos引擎開發游戲,在技術上和網易《夢幻西游》、任天堂的《火焰紋章》、盛大的《熱血傳奇》、巨人的《征途》等大作,其實是站在同樣的起跑線上。
作為Cocos最重要的開發工具,Cocos Creator其實是Cocos團隊提供的第二代編輯器。這套技術的積累可以追溯到2012年以前的Cocos2D-HTML5版本和Cocos2D-JS版本。這樣的技術選型與技術積累,也讓游戲除了能發布到移動App、PC平臺和傳統Web平臺以外,還更好地支持了近年來最火的小游戲。技術方面,和前一代編輯器CocosStudio不同的是,Cocos Creator使用的是數據驅動的工作流程,你可以搭建獨立的場景,制作的動畫和特效也可以隨時在編輯器組件中實現所見即所得。數據驅動的開發流程也同樣將數據和功能分離開來,即解放游戲開發工作流程中的各個工種,并通過組件實現協作。
本書作為最早的Cocos Creator書籍之一,也必將成為入門必備、進階必修的教材。
全書以深入淺出的方式展開介紹,通過“準備篇”可以全面了解Cocos和Cocos Creator的發展歷史和基本知識;通過“基礎篇”可以學習基本功能,以及各個組件的操作和使用方法;通過“實例篇”中介紹的已有的案例,了解游戲各個部分的實現過程、細節和方法,最后通過“擴展篇”了解技術的難點、高級知識點之外,你甚至可以學習如何將游戲做成成品發布。也就是說,本書包含引擎和工具的方方面面,并且對知識點進行了歸納整理,書中語言通俗易懂,將大大加快你的學習速度!
最后以《愛麗絲夢游仙境》的紅桃皇后定律來結束本序:
愛麗斯和紅桃皇后手拉著手一同出發,但不久之后,愛麗斯發現他們處在與先前一模一樣的起點上。
“為什么會這樣?”愛麗斯大叫,“我覺得我們一直都待在這棵樹底下沒動!”
“廢話,理應如此。”紅桃皇后傲慢地回答。
“但是,在我們的國家里,”愛麗絲說,“如果你以足夠的速度奔跑一段時間的話,你一定會抵達另一個不同的地方。”
“現在,這里,你好好聽著!”紅桃皇后反駁道,“以你現在的速度你只能逗留原地。如果你要抵達另一個地方,你必須以雙倍于現在的速度奔跑!”
楊雍,觸控科技西南區總經理(前觸控科技Cocos引擎核心開發成員)
Forword? 序 二
自2016年1月Cocos Creator 發布公測版本以來,已經過去三年時間,并從2018年8月開始正式進入 2.0 時代。在這段奇妙的旅途中,最讓我們欣喜的一直是越來越活躍的中文開發者社區。如果將Cocos Creator 的社區比作一座島嶼,那么滿碩泉的這部作品為這座島嶼架起了極其重要的一座橋梁,讓對游戲抱有無比熱情的伙伴們走進來,在Cocos Creator 的港口造出自己的游戲并揚帆起航!
在這部出色的作品中,滿碩泉由淺入深展開介紹,從Cocos Creator 的基本環境到各個模塊的使用,幫助開發者們輕松上手。更可貴的是,在各個模塊的講解中,本書輔以非常實用的案例來展示功能模塊在實際項目中是如何應用的。滿碩泉更以自己8年的移動平臺游戲開發經驗為堅實的后盾,分享了消除、飛行、棋牌這三大品類游戲的完整案例。本書的最后一部分,則就游戲開發中的一些難點或實際問題進行深入挖掘,比如熱更新方案和性能優化。我相信這部作品的全面性,不僅對剛接觸Cocos Creator 的讀者大有裨益,即便是經驗豐富的游戲開發者,也能夠從中發現很多值得學習和取用的經驗。
Enjoy!
凌華彬,Cocos Creator引擎主程
前 言? Preface
為什么要寫這本書
“你可以成為這樣的人,如果你熱愛你做的事,愿意付出相應的勞動,你終將有所得。你在夜里獨自工作,反復思考你所設計和制造的東西,為之花費的每一分鐘都是值得的。我敢肯定地告訴你,你的付出是值得的。”
—蘋果公司的創始人之一史蒂夫·沃茲尼亞克
《沃茲傳·與蘋果一起瘋狂》
相信很多移動游戲開發者都有同樣的感受,就是累并快樂著,累是因為我們在一個競爭激烈的行業里,快樂則是因為我們在做著自己熱愛的事情。相信對于很多移動游戲開發者來說,都有一個忠實的“伙伴”,那就是你所使用的游戲引擎。由于開源的特點和支持Android和iOS兩大平臺,Cocos引擎成為眾多游戲引擎中的佼佼者,與此同時,Cocos引擎團隊不斷迭代自己的工具鏈以跟上技術和平臺的發展,讓工程師可以把更多精力投入到游戲本身的開發上。截至2017年年底,Cocos2D-X在全球擁有超過100萬注冊開發者,在中國市場占有率為45%,在全球市場占有率為18%,是中國第一、全球第二的手機游戲引擎。
隨著網頁游戲的發展,輕量化游戲方興未艾,Cocos 引擎團隊推出了Cocos Creator開發工具。Cocos Creator是以內容創作為核心的游戲開發工具,在Cocos2D-X基礎上實現了徹底腳本化、組件化和數據驅動等特點,實現了一體化、可擴展、可自定義工作流的編輯器,并在Cocos系列產品中第一次引入了組件化編程思想和數據驅動的架構設計,這極大地簡化了游戲開發工作流中的場景編輯、UI設計、資源管理、游戲調試和預覽、多平臺發布等工作,使開發者的精力可以更多地投入到游戲內容的創作上,可以說,Cocos Creator已經成為開發團隊進行團隊協作開發的最佳選擇。
從Cocos Creator發布伊始,作為Cocos引擎的忠實用戶,我就一直在關注,當公司要立項一個網頁游戲并打算采用全新的引擎開發時,我第一個想到了Cocos Creator,但是項目組出于“想采用更成熟的技術”的考慮,選擇了另一個推出時間更長的游戲引擎,結果項目后期的性能優化和一些功能的開發受到了引擎底層的制約,最后以失敗告終。同樣的例子在行業內我聽說的不止一例,為什么我們放著更新、更好的技術不用呢?在經過與同行的討論和自己的思考后,我覺得可能是受到學習成本和項目經驗的影響,大家愿意用更成熟的技術。但是Cocos Creator基于Cocos引擎,本身就是成熟的技術,所以我一直想找機會為Cocos Creator做一些推廣,讓廣大的開發者可以有勇氣嘗試更好的技術。
寫這本書的起因是2018年年初,微信小游戲發布,機械工業出版社華章分社的楊福川老師和我一起聊到微信小游戲教程的話題,因為Cocos Creator在微信小游戲推廣伊始就提供了支持,我當時就想到可以借著微信小游戲的“東風”,做一些Cocos Creator相關的教程,同時由于《Cocos2D-X權威指南》第2版已經出版3年多,相關技術需要一次更新,在經過討論后,我決定寫一本介紹Cocos Creator的書。我已經在游戲行業打拼8年,使用Cocos引擎開發過一些上線的項目,經歷過一些線上問題,我想把這些經驗融入這本書里,可以說,本書是《Cocos2D-X權威指南》的一次全新更新,也是我個人開發經驗的一次更新,我很珍惜這次機會。
《Cocos2D-X權威指南》已經出版3年多,我個人在這3年間也做了一些事情,我在南開大學完成了MBA的學習,同時我開始跑步鍛煉,最近一年多,我參加了三場全程馬拉松及兩場半程馬拉松的賽事,在這個過程中,我發現跑步和寫作很像,一開始憧憬和期待,起步后擔心自己完不成,到中間漸入佳境,后半程則力不從心和接近極限,直到跑完比賽,你會發現這個過程中的每一步都那么重要,都那么享受。同時,我也希望我的作品可以給讀者帶來更多的收獲,能夠讓更多的人更好地使用Cocos Creator。
讀者對象
Cocos Creator初級及中級開發者,了解游戲開發的讀者;
沒有接觸過Cocos Creator,但有過Cocos其他版本開發經驗的開發者;
沒有Cocos Creator開發經驗,但是有Unity、UE等游戲引擎開發經驗的游戲程序員;
沒有Cocos Creator開發經驗,但是有其他語言開發經驗的程序員;
游戲開發愛好者;
相關項目的策劃及管理人員。
如何閱讀本書
本書分為四大部分:
第一部分(第1~2章)為準備篇,首先對Cocos Creator的功能、特點和適用場景進行了宏觀的介紹,然后介紹了如何搭建跨平臺的開發環境。
第二部分(第3~8章)為基礎篇,對Cocos Creator的場景制作、資源管理、腳本編程、UI系統、動畫系統和物理系統進行了深入講解,同時配備了大量的小案例。
第三部分(第9~11章)為實例篇,講解了三個游戲案例的開發過程和方法,包括消除類游戲、飛行游戲和棋牌類游戲,旨在讓讀者深入了解Cocos Creator的基礎知識在游戲開發中的實際使用,而且三種游戲分別代表了消除類、縱版射擊和棋牌類,可以讓開發者深入了解不同類型游戲的開發思想。
第四部分(第12~16章)為擴展篇,深入介紹使用Cocos Creator開發微信小游戲、擴展插件和SDK、游戲項目優化等高級話題。在此基礎上進一步介紹游戲開發和引擎擴展等相關的知識,目的是讓讀者更加全面地了解Cocos Creator的使用。
如果你是一名對Cocos Creator有一定了解的開發者,可以從第3章開始閱讀,而如果你是一個Cocos Creator的初學者,請從第1章開始閱讀。
勘誤和支持
由于水平有限,編寫時間倉促,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。為了方便與大家交流,我專門申請了一個qq討論群(群號:514376849,驗證信息為:cocoscreatorhzbook),大家有與本書相關的問題可以在群中提出,我會及時解答。
為了及時更新本書的項目源代碼,我創建了本書的代碼倉庫,書中的全部源代碼可以在GitHub(代碼倉庫地址:https://github.com/manshuoquan/CocosCreatorBook)中獲取,項目的示例代碼、本書工程和源代碼也會同步更新。
如果你有更多的寶貴意見,也歡迎發送郵件至郵箱manshuoquan@sina.cn,期待能夠得到你們的真摯反饋。
致謝
感謝Cocos引擎的開發團隊,感謝他們為廣大游戲開發者開發出一款如此優秀的游戲引擎。感謝每個在GitHub上貢獻代碼的開發者,因為你們開放分享的精神,才使得這個世界更加美好。
感謝天津大學和南開大學對我的培養,感謝我的老師和同學們,特別是我的編程啟蒙老師羅凱先生。
感謝我的老東家天津猛犸科技有限公司,感謝公司給了我進入游戲行業的機會,同時感謝公司對我的鍛煉和栽培,使我對游戲開發由“好奇”變成“愛好”。做游戲可能是每個程序員最初的、浪漫的夢想,我有幸能有8年的游戲程序員經歷,這8年會是我職業生涯中最難忘的8年,有甜蜜的夢想,有艱辛的汗水,有努力的奮斗,也有苦澀的眼淚。后來,我終于明白了,夢想并不是一定實現了才覺得幸福,追逐夢想的路同樣值得享受。
感謝一路走來我工作中遇到的師長和好戰友們,和他們并肩作戰的日子我終生難忘,我在他們身上學到的東西讓我對游戲開發有更深的認識和熱愛。
感謝CSDN網站上每一位閱讀我文章的網友們,是你們給了我信心,讓我一直寫下去,我會一直寫下去!感謝《Cocos2D-X權威指南》的讀者們,你們的支持也是我寫作的動力,同時你們的鞭策激勵著我進步。
感謝觸控科技西南區總經理楊雍和Cocos Creator引擎主程凌華彬為本書寫序,感謝Cocos引擎創始人王哲、資深Cocos開發者張磊(無腦碼農)、資深Cocos開發者屈光輝(子龍山人)和螞蟻金服資深工程師王德夫(唯敬)為本書寫推薦,感謝資深Cocos開發者楊世玲對本書的幫助。
感謝機械工業出版社華章公司的副總編楊福川老師和編輯李藝老師,感謝二位老師在這一段時間中始終支持我的寫作,二位老師的鼓勵和幫助引導我能順利完成全部書稿。可以說沒有二位老師的幫助和支持,我不會有勇氣寫這本書。
感謝我的爺爺和奶奶,他們是我人生的啟蒙老師,盡管他們已經離開這個世界,但是我依然能感受到他們對我的支持和愛。
最后感謝我的父母,他們不僅含辛茹苦把我撫養長大,還教給我很多做人的道理,為了他們我要更加努力。
謹以此書獻給我最親愛的家人,以及眾多熱愛游戲開發和Cocos引擎的朋友們!
滿碩泉
寫于中國天津
目錄? Contents
序一
序二
前言
第一部分 準備篇
第1章 認識Cocos Creator2
1.1 什么是Cocos Creator2
1.1.1 Cocos Creator的由來3
1.1.2 Cocos Creator的組成4
1.1.3 Cocos Creator的特點5
1.2 Cocos Creator的基本架構和工作流5
1.2.1 Cocos Creator的架構6
1.2.2 Cocos Creator的工作流程6
1.2.3 Cocos Creator 2.0版本7
1.2.4 升級你的項目到Cocos Creator 2.0版本8
1.3 為何選擇Cocos Creator9
1.3.1 Cocos Creator和Cocos2D-X9
1.3.2 Cocos Creator和Unity10
1.3.3 學習Cocos Creator需要的知識11
1.4 本章小結11
第2章 搭建跨平臺的開發環境12
2.1 Cocos Creator的安裝配置12
2.1.1 Cocos Creator的運行編譯環境13
2.1.2 Cocos Creator安裝過程13
2.2 原生平臺的基本介紹和項目導出14
2.2.1 Android平臺的基本介紹14
2.2.2 iOS平臺的基本介紹15
2.2.3 原生平臺的導出16
2.2.4 調用原生平臺的代碼17
2.3 HTML5基本介紹和項目導出19
2.3.1 HTML5簡介19
2.3.2 構建和發布20
2.4 本章小結20
第二部分 基礎篇
第3章 Cocos Creator的場景制作22
3.1 認識Cocos Creator編輯器22
3.1.1 Cocos Creator基本界面22
3.1.2 Cocos Creator編輯器的布局23
3.2 Cocos Creator中的節點和組件24
3.2.1 Cocos Creator中的節點24
3.2.2 Cocos Creator中的組件24
3.3 Cocos Creator中的坐標系25
3.3.1 笛卡兒坐標系25
3.3.2 標準屏幕坐標系25
3.3.3 世界坐標系26
3.3.4 本地坐標系26
3.3.5 節點的錨點26
3.4 創建你的第一個Cocos Creator項目27
3.4.1 創建項目27
3.4.2 項目結構28
3.5 本章小結29
第4章 Cocos Creator的資源管理30
4.1 圖片資源的管理30
4.1.1 圖片資源的導入30
4.1.2 圖集資源的制作和導入31
4.2 聲音資源的管理32
4.2.1 WebAudio方式加載音頻33
4.2.2 DomAudio方式加載音頻33
4.3 預制體的創建和使用34
4.3.1 何為預制體34
4.3.2 預制體的創建和使用34
4.4 字體資源的管理35
4.4.1 位圖字體的制作35
4.4.2 位圖字體的導入和使用39
4.5 粒子資源管理39
4.5.1 粒子系統39
4.5.2 粒子系統的特點和構成40
4.5.3 Cocos Creator中的粒子資源41
4.6 Tiled地圖集資源管理41
4.6.1 Tiled地圖編輯器42
4.6.2 地圖資源文件的導入和使用42
4.7 資源的導入和導出44
4.7.1 資源的導出44
4.7.2 資源的導入44
4.8 本章小結45
第5章 Cocos Creator腳本編程46
5.1 JavaScript基礎46
5.1.1 JavaScript的變量及內置類型47
5.1.2 JavaScript的操作符和控制結構49
5.1.3 JavaScript實現面向對象50
5.2 Cocos Creator中的JavaScript51
5.2.1 創建和使用組件腳本51
5.2.2 使用cc.Class聲明53
5.2.3 TiledMap地圖操作55
5.2.4 腳本生命周期57
5.2.5 節點基本操作57
5.3 使用JavaScript進行資源管理58
5.3.1 使用JavaScript管理場景58
5.3.2 使用JavaScript管理資源59
5.4 JavaScript的組織模式62
5.4.1 模塊化腳本62
5.4.2 插件化腳本63
5.5 JavaScript對象池64
5.5.1 對象池的概念64
5.5.2 對象池的使用64
5.6 本章小結65
第6章 Cocos Creator的UI系統66
6.1 基礎渲染組件66
6.1.1 精靈組件66
6.1.2 Sprite的混合69
6.1.3 Label組件70
6.1.4 Camera攝像機72
6.2 Cocos Creator中的事件系統73
6.2.1 節點系統事件75
6.2.2 全局系統事件76
6.3 UI界面的適配和布局77
6.3.1 分辨率的適配78
6.3.2 UI界面的對齊策略79
6.4 常用的UI組件80
6.4.1 布局組件Layout81
6.4.2 按鈕組件82
6.4.3 輸入框組件EditBox84
6.4.4 富文本組件RichText86
6.4.5 進度條組件ProgressBar88
6.4.6 滑動器組件Slider89
6.4.7 頁面容器89
6.4.8 復選框組件91
6.4.9 滾動列表92
6.5 實例:卡牌游戲的經典UI界面93
6.5.1 UI界面的設計93
6.5.2 UI界面功能制作94
6.5.3 界面相關邏輯開發95
6.6 本章小結98
第7章 Cocos Creator的動畫系統99
7.1 Cocos Creator的動畫系統99
7.1.1 Cocos Creator中的動作100
7.1.2 Cocos Creator的動畫編輯器105
7.1.3 動畫組件Animation和動畫切片剪輯106
7.1.4 通過代碼控制動畫109
7.2 在Cocos Creator中使用粒子特效113
7.3 骨骼動畫—DragonBone114
7.3.1 龍骨的基本介紹115
7.3.2 在Cocos Creator中使用骨骼動畫116
7.4 Spine動畫120
7.4.1 Spine的基本介紹120
7.4.2 在Cocos Creator中使用Spine動畫121
7.5 實例:卡牌游戲經典戰斗場景126
7.5.1 戰斗場景的設計126
7.5.2 戰斗場景的具體邏輯開發127
7.6 本章小結134
第8章 Cocos Creator的物理系統136
8.1 Cocos Creator的碰撞系統136
8.1.1 編輯碰撞組件137
8.1.2 碰撞分組管理138
8.1.3 使用腳本處理碰撞系統139
8.1.4 使用碰撞系統的示例141
8.2 Cocos Creator中的Box2D145
8.2.1 Box2D簡介145
8.2.2 Cocos Creator中的Box2D146
8.2.3 Cocos Creator中的Box2D組件148
8.3 本章小結153
第三部分 實例篇
第9章 消除類游戲:快樂消消樂156
9.1 三消游戲的特點156
9.2 快樂消消樂游戲簡介156
9.3 游戲模塊的開發158
9.3.1 開始游戲模塊158
9.3.2 游戲初始化模塊160
9.3.3 初始化“棋盤”162
9.3.4 處理用戶輸入和物塊消除邏輯164
9.3.5 聲音和暫停172
9.4 本章小結174
第10章 射擊類游戲:飛機大戰175
10.1 縱版射擊游戲的特點175
10.2 飛機大戰游戲簡介176
10.3 游戲模塊的開發178
10.3.1 開始游戲模塊179
10.3.2 選擇角色模塊實現181
10.3.3 游戲主界面顯示模塊183
10.3.4 敵機模塊185
10.3.5 主角飛機模塊187
10.3.6 游戲控制邏輯189
10.4 本章小結192
第11章 棋牌類游戲:歡樂斗地主193
11.1 棋牌類游戲特點193
11.2 斗地主游戲簡介194
11.3 游戲模塊的開發195
11.3.1 開始游戲模塊196
11.3.2 卡牌類和玩家類197
11.3.3 游戲規則模塊200
11.3.4 搶地主模塊203
11.3.5 正式游戲模塊207
11.4 本章小結212
第四部分 擴展篇
第12章 使用Cocos Creator開發微信小游戲214
12.1 微信簡介214
12.2 微信小程序215
12.2.1 微信小程序簡介216
12.2.2 申請開發賬號216
12.2.3 微信小程序開發工具219
12.2.4 微信小程序程序結構220
12.2.5 發布和上線225
12.3 微信小游戲226
12.3.1 微信小游戲簡介226
12.3.2 微信小游戲的開發228
12.3.3 使用Cocos Creator導出微信小游戲項目231
12.3.4 微信小游戲的資源管理233
12.3.5 接入微信小游戲的子域234
12.4 本章小結238
第13章 游戲中的地圖算法239
13.1 Roguelike地圖生成算法239
13.1.1 Roguelike游戲240
13.1.2 地圖生成算法240
13.1.3 地圖生成算法的具體實現241
13.2 A星算法249
13.2.1 啟發式搜索算法原理249
13.2.2 什么是A星搜索249
13.2.3 A星算法在JavaScript中的實現251
13.2.4 跳點搜索257
13.3 本章小結261
第14章 Cocos Creator的擴展263
14.1 第一個擴展包263
14.1.1 Node.js的package.json264
14.1.2 Cocos Creator的第一個擴展包—Hello World266
14.1.3 進程間通信—IPC267
14.2 深入開發擴展269
14.2.1 入口程序269
14.2.2 為擴展包開發相應的功能270
14.2.3 擴展主菜單271
14.2.4 擴展編輯面板272
14.2.5 進程間通信的工作流程275
14.2.6 為插件提供組件和資源276
14.3 開發擴展頁面276
14.3.1 定制界面模板276
14.3.2 界面排版278
14.3.3 界面元素279
14.4 擴展商店—Cocos Store280
14.4.1 從擴展商店獲取插件280
14.4.2 提交插件到擴展商店280
14.5 多語言支持—i18n283
14.5.1 游戲開發的多語言化283
14.5.2 插件多語言285
14.6 本章小結286
第15章 Cocos Creator中的網絡和SDK287
15.1 Cocos Creator中的網絡接口288
15.1.1 XMLHttpRequest的使用288
15.1.2 WebSocket的使用290
15.1.3 SoekctIO的使用293
15.2 熱更新解決方案295
15.2.1 Cocos引擎的熱更新原理及流程295
15.2.2 Cocos引擎的熱更新的使用方法299
15.3 Cocos Creator與游戲平臺SDK301
15.3.1 AnySDK簡介302
15.3.2 在Cocos Creator中使用AnySDK303
15.3.3 Cocos Analytics簡介304
15.3.4 在Cocos Creator中使用Cocos Analytics305
15.4 本章小結306
第16章 游戲開發優化307
16.1 Cocos引擎渲染原理307
16.1.1 OpenGL ES簡介308
16.1.2 可編程管線309
16.1.3 著色器310
16.1.4 Cocos引擎渲染原理315
16.1.5 在Cocos2D-X中使用shader319
16.1.6 實例:在Cocos Creator中使用shader321
16.2 游戲常用的設計模式328
16.2.1 命令模式329
16.2.2 享元模式330
16.2.3 觀察者模式331
16.2.4 狀態模式331
16.2.5 單例模式333
16.3 Cocos引擎游戲的性能優化334
16.3.1 Cocos2D-X的內存管理334
16.3.2 資源的優化337
16.3.3 利用Cocos2D-X的特性進行性能優化338
16.3.4 異步加載339
16.4 本章小結341
附錄A 粒子特效的制作342
附錄B Tiled地圖的制作355
javascript
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。