Cocos2d-x是一個(gè)開源的移動2D游戲框架,MIT許可證下發(fā)布的。這是一個(gè)C++ Cocos2d-IPhone項(xiàng)目的版本。Cocos2d-X發(fā)展的重點(diǎn)是圍繞Cocos2d跨平臺,Cocos2d-x提供的框架。手機(jī)游戲,可以寫在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x項(xiàng)目可以很容易地建立和運(yùn)行在iOS,Android,黑莓Blackberry等操作系統(tǒng)中。Cocos2d-x還支持Windows、麥金塔和Linux等桌面操作系統(tǒng),因此,開發(fā)者編寫的源代碼很容易在桌面操作系統(tǒng)中編輯和調(diào)試。
引擎介紹
Cocos2d-x是MIT許可證下發(fā)布的開源游戲引擎,游戲開發(fā)快速、簡易、功能強(qiáng)大。2015年2月,觸控科技正式推出了游戲開發(fā)一站式解決方案cocos,將Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。
Cocos2d-x核心優(yōu)勢在于允許開發(fā)人員利用C++、Lua及ECMAScript來進(jìn)行跨平臺部署,覆蓋平臺包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。
Cocos2d-x用戶不僅包括個(gè)人開發(fā)者和游戲開發(fā)愛好者,還包括許多知名大公司如Zynga、Wooga、GAMEVIL、GLU、GREE、科樂美、TinyCo、handygames、IGG及迪士尼公司 Mobile等。截止2013年9月,全球基于Cocos2d-x引擎的游戲下載量高達(dá)逾15億,其中許多還占據(jù)蘋果應(yīng)用商店(AppStore)和谷歌應(yīng)用商店(Google Play)排行榜。同時(shí)許多公司如觸控、谷歌、微軟、ARM、英特爾的工程師在Cocos2d-x領(lǐng)域也非常活躍。
另外,Cocos2d-x版本升級困難的問題,是許多開發(fā)者的一大苦惱,而經(jīng)過整合的cocos,解決了Cocos2d-x的這一問題。升級cocos,其相匹配的Cocos2d-x也將自動進(jìn)行升級,這極大的提高了開發(fā)效率,為開發(fā)者們帶來便利,同時(shí)也為Cocos2d-x的進(jìn)一步發(fā)展打下基礎(chǔ)。
特點(diǎn)
易于使用:游戲開發(fā)者可以把關(guān)注焦點(diǎn)放在游戲設(shè)置本身,而不必消耗大量時(shí)間學(xué)習(xí)晦澀難懂的OpenGL ES,此外,Cocos2d-x還提供了大量的規(guī)范。
高效:Cocos2d-x基于OpenGL ES進(jìn)行圖形渲染,從而讓移動設(shè)備的GPU性能發(fā)揮到極致。
靈活:方便擴(kuò)展,易于集成第三方庫。
免費(fèi):基于MIT協(xié)議的免費(fèi)開源框架,用戶可以放心使用,不用擔(dān)心商業(yè)授權(quán)的問題。
社區(qū)支持:關(guān)心Cocos2d-x的開發(fā)者自發(fā)建立了多個(gè)社區(qū)組織,可以方便的查閱各類技術(shù)資料。
家族成員
Cocos2d是一個(gè)基于MIT協(xié)議的開源框架,用于構(gòu)建游戲、應(yīng)用程序和其他圖形界面交互應(yīng)用。可以讓你在創(chuàng)建自己的多平臺游戲時(shí)節(jié)省很多的時(shí)間。
Cocos2d也擁有幾個(gè)主要版本,包括Cocos2d-IPhone、Cocos2d-X,以及被社區(qū)普遍看好的Cocos2d-html5和ECMAScript bindings for Cocos2d-X。
Cocos2d-html5 : Cocos2d-HTML5 是基于 HTML5 規(guī)范集的 Cocos2d引擎分支,具有跨平臺的能力和強(qiáng)大的性能,是 Cocos2d 系列引擎隨著互聯(lián)網(wǎng)技術(shù)演進(jìn)而產(chǎn)生的一個(gè)分支,該分支基于 HTML5 規(guī)范集,目標(biāo)是可對游戲進(jìn)行跨平臺部署,Cocos2d-HTML5 采用 MIT 開源協(xié)議,設(shè)計(jì)上保持Cocos2d家族的傳統(tǒng)架構(gòu),并可聯(lián)合 Cocos2d-x ECMAScriptbinding 接口,最大程度地實(shí)現(xiàn)游戲代碼在不同平臺上的復(fù)用。
JSB :Cocos2d-x JavaScript-binding 是使用 SpiderMonkey 引擎實(shí)現(xiàn) C++ 接口到 JavaSciprt 的綁定方案,它可以使用 Js 快速開發(fā)游戲,以更簡單的語法實(shí)現(xiàn)功能,并且能與 Cocos2D-html5 相互兼容,使同一套代碼,運(yùn)行兩個(gè)平臺,這是相比使用 Lua 實(shí)現(xiàn)的一個(gè)明顯優(yōu)勢。
Cocos Studio :Cocos Studio 是一套基于 Cocos2d-x 引擎的工具集,包括 UI編輯器,動畫編輯器,場景編輯器和數(shù)據(jù)編輯器。 UI 編輯器和動畫編輯器主要面向美術(shù),而場景編輯器和數(shù)據(jù)編輯器則面向游戲策劃,這四個(gè)工具合在一起構(gòu)成了一套完整的游戲開發(fā)體系,幫助開發(fā)者進(jìn)一步降低開發(fā)難度,提高開發(fā)效率,減少開發(fā)成本。
歷史起源
作者簡介
1973年,Ricardo Quesada出生于阿根廷。
在Ricardo 12歲時(shí),他母親為他購買了第一臺電腦,一臺Commodore 64。
剛開始,與其他孩子一樣,Ricardo將自己的精力放在電子游戲上,但在幾個(gè)月后,他購買了編程方面的書籍,開始學(xué)習(xí)用BASIC語言編寫一些簡單的游戲。兩年后,Ricardo開始學(xué)習(xí)匯編語言。
在Commodore 64上,Ricardo制作了很多游戲并貢獻(xiàn)了一個(gè)游戲編輯器,而這臺Commodore 64也陪伴了他長達(dá)6年之久。此后,Ricardo選擇了iAPX 286作為他的新伙伴。在他學(xué)習(xí)了c語言后的幾個(gè)月,Ricardo在DOS系統(tǒng)下編寫了一些游戲Demo和一個(gè)游戲編輯器。
當(dāng)然,他并不滿足于此,隨后Ricardo又開始涉足Linux,并將編輯器移植到Linux系統(tǒng)上,將匯編語言改成了C語言。Ricardo將Linux作為主要的操作系統(tǒng)用了很多年,并不斷地為開源社區(qū)貢獻(xiàn)代碼。此后他與一些志同道合的朋友一起學(xué)習(xí)了C++以及Python語言,并參加了一些開發(fā)大賽。在大學(xué)期間,Ricardo選擇了鐘愛的計(jì)算機(jī)科學(xué)專業(yè),并不斷涉獵計(jì)算機(jī)安全、算法、游戲架構(gòu)、OpenGL等大量書籍。
Cocos2d的誕生
2005年,Ricardo和朋友萌生了用Python語言“一星期編寫一個(gè)游戲”的想法。在2005~2007年間,他們設(shè)計(jì)了許多種這樣的游戲。值得注意的是,每次在設(shè)計(jì)一個(gè)新的游戲時(shí),其游戲引擎都是重新開發(fā)的。
2008年2月,他們在阿根廷Córdoba市附近的Los Cocos,決定基于以前的開發(fā)經(jīng)驗(yàn),把技術(shù)進(jìn)行整合,并組建了游戲引擎的原始開發(fā)團(tuán)隊(duì)。一個(gè)月后,第一版的游戲引擎誕生了,根據(jù)其誕生地取名為Los Cocos。一個(gè)月后Los cocos引擎發(fā)布了0.1版,其名稱從Los Cocos更名為Cocos2d。
主要功能
流程控制(Flow control):非常容易地管理不同場景(scenes)之間的流程控制
精靈(Sprites):快速而方便的精靈
動作(Actions):告訴精靈們該做什么。可組合的動作如移動(move)、旋轉(zhuǎn)(rotate)和縮放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋轉(zhuǎn)(twirl)和透鏡(lens)等更多
平面地圖(Tiled Maps):支持包括矩形和六邊形平面地圖
轉(zhuǎn)換(Transitions):從一個(gè)場景移動到另外一個(gè)不同風(fēng)格的場景
菜單(Menus):創(chuàng)建內(nèi)部菜單
文本渲染(Text Rendering):支持標(biāo)簽和HTML標(biāo)簽動作
文檔(Documents):編程指南 + API參考 + 視頻教學(xué) + 很多教你如何使用的簡單測試?yán)?/p>
BSD許可:盡管用就是了
基于Pyglet:沒有外部的依賴
基于OpenGL:支持硬件加速
架構(gòu)目錄結(jié)構(gòu)
架構(gòu):
目錄結(jié)構(gòu):
從GitHub下載Cocos2d-x repo資源包后,或解壓穩(wěn)定版ZIP壓縮包后,就會看到如下的目錄結(jié)構(gòu):
市場地位
目前,占有率領(lǐng)先移動游戲引擎主要有Cocos2d-x、Unity3D、FlashAIR、虛幻引擎、Corona等。不同的統(tǒng)計(jì)方給出的數(shù)據(jù)各有差異,但總體來講,行業(yè)首選的游戲引擎,主要都集中在Cocos2d-x與Unity3D之上。
從全球市場份額數(shù)據(jù)來看,主要覆蓋中端市場的Unity相對領(lǐng)先,Cocos2d-x則主要占據(jù)高端與低端市場,約占1/4市場。但值得注意的是另一個(gè)數(shù)據(jù)是,在中國,Cocos2d-x則相對領(lǐng)先。在中國的2D手機(jī)游戲開發(fā)中,Cocos2d-x引擎的份額超過70%。
根據(jù)觸控科技數(shù)據(jù),國內(nèi)現(xiàn)有45款月收入超千萬手游中,30個(gè)基于Cocos2d-x開發(fā),2013年手機(jī)游戲產(chǎn)業(yè)的22起手游并購案中,收購股權(quán)大于51%20起,其中13起的代表游戲均基于Cocos2d-x開發(fā)。
注:截至2013年12月10日數(shù)據(jù)更新,國內(nèi)已有47款月收入超千萬手游,其中32款基于Cocos2d-x開發(fā)。
財(cái)力支持
目前,Cocos2d-x, Cocos2d-html5及Cocos Studio由觸控科技提供財(cái)力支持。
參考資料 >
CocoaChina開發(fā)者大會:Cocos2d的多維展開.網(wǎng)易新聞網(wǎng).2013-09-28
Cocos2D家族的前世今生.新浪.2015-05-31