《cocos2d-x手機遊戲開發跨iOS,Android和沃Phone平台》是2011年人民郵電出版社出版的圖書,作者是徐松林黃猛。
基本介紹
基本信息,內容簡介,目錄,前言,序言,媒體評論,
基本信息
出版社:人民郵電出版社
上架時間:2011-12-6
出版日期:2012 年1月
開本:16開
頁碼:1
版次:1-1
內容簡介
該書共有12 章,以跨平台的手機遊戲開發為主線,圍繞著cocos2d-x 引擎,由淺入深地講解了智慧型手機的遊戲開發過程、跨平台遊戲引擎的原理、周邊工具以及遊戲開發,還給出了完整的實戰案例,語言簡潔,結構清晰。
適合所有想進入智慧型手機平台遊戲領域的人士,包括在校大學生、遊戲開發者和網路遊戲公司的cto 等。徐松林 智慧型手機平台的先驅者,曾就職於國內知名的企業級平台軟體公司,主攻複雜系統的架構設計,在此期間積累了有關大型軟體架構設計的豐富經驗。
2010年5月 成立MT工作室,設計並開發用於Android平台的遊戲引擎(MT引擎),並基於此引擎開發出多款市場反饋較好的遊戲。一直專注於研究跨平台的遊戲引 擎,尤其是跨平台引擎的架構及設計原理。
黃猛,專注於移動平台遊戲開發,對Android以及50S系統的編程有深入研究,自Android發布以後,一直關注移動平台的發展,從2008年底開始從事Android底層套用以及2D遊戲的研發,有豐富的實戰經驗。是《魔塔之拯救公主》,《超級DJ》和《魔域之城》尊經典遊戲的主力開發者。
目錄
第1 章 智慧型手機作業系統介紹 1
1.1 ios 2
1.1.1 ios 常見特性 2
1.1.2 app store 3
1.2 android 3
1.2.1 android 常見特性 3
1.2.2 android 套用商城 4
1.3 其他手機作業系統 4
1.3.1 ophone 4
1.3.2 沃phone 4
1.3.3 leos 5
1.4 總結 5
第2 章 遊戲及遊戲引擎介紹 6
2.1 遊戲介紹 6
2.2 遊戲引擎介紹 7
2.2.1 渲染引擎 8
2.2.2 物理引擎 8
2.2.3 周邊工具 10
2.3 總結 10
.第3 章 進入cocos2d 的世界 11
3.1 cocos2d 介紹 11
3.2 cocos2d-iphone 介紹 12
3.3 cocos2d-x 介紹 13
3.4 cocos2d-x 遊戲分享 13
3.5 其他cocos2d 版本介紹 14
3.6 總結 15
第4 章 搭建跨平台的開發環境 16
4.1 環境說明 16
4.2 環境搭建 16
4.2.1 安裝visual studio 17
4.2.2 安裝cygwin 19
4.2.3 安裝ios 環境 23
4.2.4 安裝android 環境 26
4.2.5 安裝沃phone 環境 28
4.2.6 安裝cocos2d-x 引擎 35
4.3 環境測試之hello world 案例 35
4.3.1 windows 運行 36
4.3.2 ios 運行 37
4.3.3 andriod 運行 38
4.3.4 沃phone 運行 38
4.4 總結 40
第5 章 cocos2d-x 引擎基礎使用 41
5.1 整體架構 41
5.1.1 導演 44
5.1.2 攝像機 46
5.1.3 場景 47
5.1.4 布景 48
5.1.5 人物角色 49
5.1.6 動作 51
5.2 目錄結構 51
5.3 坐標體系 53
5.4 跨平台常量 54
5.5 圖形 55
5.6 動作 56
5.7 選單 59
5.8 事件 60
5.9 變數自動釋放 61
5.10 總結 62
第6 章 cocos2d-x 之高級特性 63
6.1 物理引擎 63
6.1.1 世界 63
6.1.2 剛體及剛體定義 65
6.1.3 形狀 65
6.1.4 關聯及關聯定義 66
6.1.5 連結及連結定義 66
6.1.6 使用案例 66
6.2 粒子系統 67
6.2.1 重力式粒子系統 71
6.2.2 放射式粒子系統 72
6.3 聲音模組 74
6.4 總結 76
第7 章 cocos2d-x 之周邊工具 77
7.1 沃phone 應用程式打包工具 77
7.1.1 軟體包設定 78
7.1.2 套用配置 80
7.1.3 添加支持檔案 83
7.1.4 保存編譯 83
7.2 圖片編輯器 84
7.3 地圖編輯工具 85
7.4 粒子系統設計工具 88
7.5 總結 90
第8 章 cocos2d-x 之交叉編譯 91
8.1 交叉編譯到ios 平台 91
8.1.1 新建ios 項目 91
8.1.2 交叉編譯 93
8.1.3 打包運行 93
8.2 交叉編譯到android 平台 93
8.2.1 新建android 項目 94
8.2.2 生成編譯腳本 94
8.2.3 交叉編譯 96
8.2.4 打包運行 96
8.3 交叉編譯到沃phone 平台 97
8.3.1 新建沃phone 項目 97
8.3.2 生成編譯腳本 99
8.3.3 交叉編譯 101
8.3.4 打包運行 102
8.4 總結 102
第9 章 cocos2d-x 之實用篇 103
9.1 遊戲社交平台 103
9.2 手機廣告平台 104
9.3 推廣牆平台 105
9.4 技術準備 105
9.4.1 cocos2d-x 調用objective-c 106
9.4.2 cocos2d-x 調用java 107
9.5 案例實現 111
9.5.1 場景分析 111
9.5.2 環境準備 111
9.5.3 遊戲設計 111
9.5.4 遊戲實現 112
9.5.5 場景總結 125
9.6 總結 125
第10 章 “魔塔”案例之基礎篇 126
10.1 先熟悉一下遊戲 126
10.2 準備工作 126
10.3 繪製最簡單的遊戲地圖 127
10.4 人物行走 130
10.5 碰撞檢測 144
10.6 總結 146
第11 章 “魔塔”案例之高級篇 147
11.1 重構代碼 147
11.1.1 分離場景和圖層 147
11.1.2 分離遊戲對象 149
11.1.3 小結 163
11.2 添加更多遊戲元素 165
11.2.1 添加怪物 166
11.2.2 添加物品和門 175
11.2.3 添加對象層 179
11.2.4 小結 188
11.3 總結 189
第12 章 未來展望 190
12.1 智慧型手機系統的發展趨勢 190
12.1.1 ios 的發展趨勢 190
12.1.2 android 的發展趨勢 191
12.1.3 沃phone 的發展趨勢 191
12.2 手機遊戲的發展趨勢 192
12.2.1 手機單機遊戲 192
12.2.2 手機網路遊戲 193
12.3 cocos2d-x 引擎的發展趨勢 194
前言
當前3G技術盛行,手機遊戲已經得到快速發展。《植物大戰殭屍》、《憤怒的小鳥》和《SNS的農場》等遊戲先驅者已經在智慧型手機上大獲豐收。
隨著智慧型手機系統增多,作為手機遊戲的開發者,我們需要同時了解多個系統的特性,並基於多個系統開發出自己的遊戲,此時就需要解決跨平台的問題。好的跨平台引擎,可以做到編寫一次代碼,然後在多個系統上運行。
cocos2d-x引擎已經能夠支持微軟的Windows系統、蘋果的iOS系統、谷歌的Android系統以及中國聯通的沃Phone系統,未來還將支持Bada和Symbian等系統。
本書面向的讀者
本書由淺入深,從基礎知識到引擎分析,再到實戰遊戲使用,結構清晰、語言簡潔,非常適合想進入智慧型手機平台遊戲領域的相關人士(大學在校生、遊戲開發者、網路遊戲公司的CTO)閱讀參考。
本書的內容
本書以跨平台的手機遊戲開發為主線,主要講解了智慧型手機遊戲的開發過程、跨平台遊戲引擎的原理、周邊工具以及跨平台的遊戲開發,同時還給出了完整的實戰案例。
本書中對開發手機遊戲的相關知識(尤其是使用cocos2d-x引擎進行手機遊戲開發)做了合理的劃分,具體安排如下。
第1章是智慧型手機作業系統介紹,主要介紹幾個常見的智慧型手機作業系統,包括蘋果的iOS系統、谷歌的Android系統以及中國聯通的沃Phone系統等。
第2章是遊戲及遊戲引擎介紹,主要介紹遊戲的分類、遊戲引擎的基礎知識,同時簡單介紹了遊戲引擎中的渲染引擎和物理引擎等。
第3章開始進入cocos2d的世界,主要介紹cocos2d、cocos2d-iphone以及cocos2d-x引擎的基礎知識,也給出了基於cocos2d-x引擎的優秀遊戲分享。
第4章是搭建跨平台的開發環境,主要介紹如何在Windows系統上搭建跨平台遊戲的開發環境,並以一個最簡單的遊戲為例給出其在各個平台上的運行效果。
第5章是cocos2d-x引擎的基礎使用,主要圍繞遊戲開發過程中的各個環節展開介紹,包括遊戲的整體架構、圖形、動作和選單等。
第6章是cocos2d-x引擎高級特性的介紹,主要介紹cocos2d-x引擎中的物理引擎、粒子系統和聲音模組等。
第7章是cocos2d-x引擎的周邊工具,主要介紹沃Phone應用程式打包工具、圖片編輯器、地圖編輯工具和粒子系統設計工具。
第8章是cocos2d-x引擎的交叉編譯部分,主要介紹基於cocos2d-x引擎的遊戲如何做到跨平台,同時以實際的遊戲為例將其交叉編輯到iOS平台、Android平台和沃Phone平台上。
第9章是cocos2d-x引擎的實用篇,講解了cocos2d-x引擎與遊戲社交平台、手機廣告平台和推廣牆平台的集成方式,通過這一章的學習,我們可以充分利用社交模組為遊戲添磚加瓦。
第10章和第11章講述了一個完整的遊戲案例的製作過程,這一部分會結合代碼圖文並茂地講解遊戲,從零開始講解益智類RPG遊戲(魔塔)是如何一步一步被設計和開發出來的。
第12章是未來展望,主要介紹智慧型手機系統和手機遊戲的發展趨勢,以及cocos2d-x引擎的發展方向等未來趨勢。
本書的編寫得到了王哲以及多位專家的大力協助,在此深表感謝。同時,在本書的編寫過程中,我的妻子已經懷有寶寶,正是有了她的支持和體諒本書才能準時交稿。最後我希望所有閱讀本書的人都能夠從中受益,在手機遊戲領域占有自己的一席之地。
徐松林
. 2011年9月
序言
近幾年,開源力量在全球軟體行業里扮演著越來越重要的角色。就移動互聯領域而言,Linux核心被廣泛用在嵌入式系統和無頭設備,Android崛起,PhoneGap誕生,服務端LAMP已是標配,svn/git和Redmine成為很多軟體公司的管理工具。
時至今日,已經很難有哪家軟體公司敢說他們完全不用開源產品了。國內的盛大和淘寶等公司都推出了開源平台,嘗試開放企業的一些內部項目的原始碼,這些都是非常有意義的舉動。就國內開源歷史來看,最成功的開源項目當屬Discuz、PHPWind和Dvbbs,這3個開源項目服務了國內無數中小網站的站長。而cocos2d-x這一開源項目所追求的目標正是服務大量的手機遊戲開發者,把大家都需要花費大量時間學習和需要花費時間重複做的工作抽取出來,形成一套開源的公用庫。往大了說就是,希望能通過這套公用庫來降低手機遊戲開發的技術門檻和研發成本,使得中小團隊和個人開發者能從中受益。
cocos2d-x僅是cocos2d社區的一個分支。cocos2d開源項目誕生於2008年第一季度,以阿根廷人Ricardo Quesada為社區領袖和主要開發者。最初這僅是一個用Python語言寫的遊戲框架,並沒有體現出什麼商用價值,但2008年正好是蘋果發布iPhone 2.0 SDK的時候,這給全球的手機遊戲開發者提供了一個非常好的舞台。cocos2d社區抓住了這個時機,在2008年就開出cocos2d-iphone分支,用Objective-C語言替換Python重寫了整個框架。
cocos2d隨著iOS的發展而快速壯大。到了2009年的4月,用cocos2d-iphone寫的遊戲StickWars在App Store美國區的付費榜衝到第一,這個裡程碑事件標誌著cocos2d完全脫離了自娛自樂過家家的水平,進入了可以穩定商用的階段。在2010年,cocos2d已經成為iOS平台上首選的2D遊戲框架:幾乎每個初學iOS遊戲開發的程式設計師都會從cocos2d入手,社區里時常有開發者跳出來炫耀他的cocos2d遊戲衝到App Store Top10,讓人“羨慕嫉妒恨”。
cocos2d框架的最大優勢在於其簡單易學,遊戲開發者只需潛心學習一個月左右就能掌握,不需要學習複雜的OpenGL ES知識就可以開發出一款商用水平的遊戲,卻能完全享受OpenGL ES硬體加速給遊戲帶來的性能提升和各種炫酷特效。這一核心特點成就了許多個人開發者和中小團隊通過cocos2d快速在iOS平台上掘金的夢想。
前文提到,2008年cocos2d社區用Objective-C替換Python對整個遊戲框架進行了重寫,而在2010年當Android崛起到能夠和iPhone抗衡,開發者希望能把遊戲移植到Android平台上的時候,同樣的事情再次上演:cocos2d-x分支被開出來,框架用C++重寫。雖然C++廣被詬病,但作為iOS和Android兩大平台都官方支持的程式語言,我們不得不“屈服”於C++的實力。事後證明這個技術路線的選擇是對的!市面上各種Phone粉墨登場,都有自己獨特的SDK、獨特的UI控制項接口,但對於遊戲開發,它們具有兩個相同點:一是支持C++開發,二是提供OpenGL ES接口。在這兩點上,不論是國內的沃Phone、Ophone、樂Phone和魅族,還是國外的Bada和MeeGo等,都是一致的。甚至連封裝層面甚高、直奔HTML5而去的WebOS都專門為遊戲開發準備了C++&OpenGL ES專用的PDK。
和cocos2d-iphone的南美洲團隊不同,cocos2d-x分支的主要維護團隊在中國,我們有幸為大家做了這件事情,並很享受這個利他的過程。在大家的共同努力下,經過第一年的發展,社區里誕生了70多款基於cocos2d-x的遊戲,其中包括多款Top 10的佳作,更有《捕魚達人》、《Ah Up Planet》、《捷運總動員》和《91部落》等明星遊戲。截至2011年10月中旬,基於cocos2d-x引擎創作的遊戲在iOS平台已累計超過340萬次下載,在Android平台則超過1000萬次下載。
很快我們就發現大家都開始積極地回饋cocos2d-x項目。網龍公司為社區貢獻了整套Lua綁定的代碼,SuperRacccon、子龍山人、冬天的林和張文野等多位開發者不斷撰寫部落格闡述使用要點,徐松林和黃猛更是熱心地花費幾個月的時間,為各位獻上的這本教程。它不僅是cocos2d-x社區的第一本中文書,也是整個cocos2d社區的第一本中文書。
cocos2d-x的官方文檔都受限於社區的國際化,因此沒能提供中文版。另外,很多文檔都是站在引擎開發者角度對原理進行闡述和解釋的,對於初學者來說可能過於複雜。而此書從遊戲開發者的角度,用通俗易懂的方式傳授了cocos2d-x引擎的幾個主要功能的用法,著重解決官方文檔里沒有涵蓋的部分,如物理引擎和周邊工具的使用,解答了新手經常感到困惑的熱點問題,如開發環境安裝、交叉編譯和第三方庫集成等。作者在這些地方都非常耐心地給出了按步驟的截圖和代碼段;最後,兩位作者更是給出了一個很有分量的實際遊戲案例,使得此書的學習價值大大提高。
非常感謝徐松林和黃猛兩位作者的貢獻,希望能有更多的遊戲開發者從此書中受益。開源社區因為有大家的支持而更美好!
2011年10月
(本書封面素材使用了《捕魚達人》iPhone版的遊戲截圖,特此感謝觸控科技的慷慨支持。)
媒體評論
縱觀移動網際網路時代各大移動平台的發展,遊戲無疑是大眾娛樂的首選。由於各個平台的差異性,遊戲開發的難度和成本逐漸增 加,“跨平台”一詞也成為了移動遊戲開發者最關注的焦點,還等什麼呢?如果你想一次編碼,多平台運行,cocos2d-x正是你需要的,而本書則由淺入深 地介紹了cocos2d-x遊戲開發的全過程,理論與實踐相結合,是移動遊戲開發者不可多得的佳作。強烈推薦!
——楊豐盛(yarin),More-Top團隊創始人,暢銷IT圖書作家
在 移動客戶端發展愈演愈烈的今天,移動開發技術已經成為了主流之一。我們看到很多移動開發團隊取得了成功,而成功並不是一蹴而就的,我們需要的是若干年的積 累,最後形成質的飛躍。《cocos2d-x手機遊戲開發》這本書,也許就是您走向明天成功的開始,而cocos2d-x,可能就是您走向成功的基石。
——趙磊,51CTO副總編
喜 歡遊戲,不是因為某平台的各種一夜暴富的傳說,而是兒時心中的夢想。輕盈、純潔、開放、坦誠地面對每一個朋友,cocos2d-x無疑是最合適的。感謝本 書的作者給我們揭開cocos2d-x神秘的面紗,帶我們走進這個世界。在移動網際網路和移動套用火熱的今天,我們需要這樣一個嚮導,為我們打開通往這個世 界的傳送門,去這個全新的領域追尋、探索。不要錯過這個機會,不要讓自己的夢想冷卻,深埋心底。
——王明楊,永楊安風(LBE安全大師)CEO
目 前,在蘋果App Store和谷歌Android Market的排行榜內,收入較高的絕大部分都是遊戲。市場和用戶選擇了遊戲,所以我們也選擇了遊戲!本書詳盡、全面、深入地介紹了如何使用遊戲引擎開發 優質遊戲以及如何快速集成遊戲社交平台、手機廣告平台、虛擬物品及流量互換的推廣牆服務,從而快速開發、快速擴大用戶規模和獲取積極的遊戲收入。本書的出 版恰逢其時,是手機遊戲開發者必備的佳作,強烈推薦!
——劉琦,Wiyun Inc.(微雲) COO