cocos2d 是一個基于MIT協議的開源框架,用于構建游戲、應用程序和其他圖形界面交互應用??梢宰屇阍趧摻ㄗ约旱亩?a href="/hebeideji/7261822772022203247.html">平臺游戲時節省很多的時間。
Cocos2D也擁有幾個主要版本,包括Cocos2D-IPhone、cocos2d-x,以及被社區普遍看好的Cocos2D-html5和ECMAScript bindings for Cocos2D-X。同時也擁有了非常優秀的編輯器(獨立編輯器),例如SpriteSheet Editors、Particle Editors 、Font Editors 、 Tilemap Editors。
另外,2012年發布的CocoStudio工具集是開源游戲引擎Cocos2d-x開發團隊官方推出的游戲開發工具,目前已經進入穩定版。CocoStudio吸取了他們自己在游戲制作中的經驗,為移動游戲開發者和團隊量身定做,旨在降低游戲開發的門檻,提高開發效率,同時也為cocos2d-x的進一步發展打下基礎。
Cocos2D特點
易于使用:游戲開發者可以把關注焦點放在游戲設置本身,而不必消耗大量時間學習晦澀難懂的OpenGL ES,此外,Cocos2D還提供了大量的規范。
高效:Cocos2D基于OpenGL ES進行圖形渲染,從而讓移動設備的GPU性能發揮到極致。
靈活:方便擴展,易于集成第三方庫。
免費:基于MIT協議的免費開源框架,用戶可以放心使用,不用擔心商業授權的問題。
社區支持:關心Cocos2D的開發者自發建立了多個社區組織,可以方便的查閱各類技術資料。
家族成員
Cocos2d-html5 : Cocos2D-HTML5 是基于 HTML5 規范集的 Cocos2D 引擎分支,具有跨平臺的能力和強大的性能,是 Cocos2D 系列引擎隨著互聯網技術演進而產生的一個分支,該分支基于 HTML5 規范集,目標是可對游戲進行跨平臺部署,Cocos2D-HTML5 采用 MIT 開源協議,設計上保持 Cocos2D 家族的傳統架構,并可聯合 Cocos2D-X ECMAScriptbinding 接口,最大程度地實現游戲代碼在不同平臺上的復用。
JSB :Cocos2D-X JavaScript-binding 是使用 SpiderMonkey 引擎實現 C++ 接口到 JavaSciprt 的綁定方案,它可以使用 Js 快速開發游戲,以更簡單的語法實現功能,并且能與 Cocos2D-html5 相互兼容,使同一套代碼,運行兩個平臺,這是相比使用 Lua 實現的一個明顯優勢。
CocoStudio :CocoStudio 是一套基于 Cocos2D-X 引擎的工具集,包括 UI編輯器,動畫編輯器,場景編輯器和數據編輯器。 UI 編輯器和動畫編輯器主要面向美術,而場景編輯器和數據編輯器則面向游戲策劃,這四個工具合在一起構成了一套完整的游戲開發體系,幫助開發者進一步降低開發難度,提高開發效率,減少開發成本。
歷史起源
作者簡介
1973年,Ricardo Quesada出生于阿根廷。
在Ricardo 12歲時,他母親為他購買了第一臺電腦,一臺Commodore 64。
剛開始,與其他孩子一樣,Ricardo將自己的精力放在電子游戲上,但在幾個月后,他購買了編程方面的書籍,開始學習用BASIC語言編寫一些簡單的游戲。兩年后,Ricardo開始學習匯編語言。
在Commodore 64上,Ricardo制作了很多游戲并貢獻了一個游戲編輯器,而這臺Commodore 64也陪伴了他長達6年之久。此后,Ricardo選擇了iAPX 286作為他的新伙伴。在他學習了c語言后的幾個月,Ricardo在DOS系統下編寫了一些游戲Demo和一個游戲編輯器。
當然,他并不滿足于此,隨后Ricardo又開始涉足Linux,并將編輯器移植到Linux系統上,將匯編語言改成了C語言。Ricardo將Linux作為主要的操作系統用了很多年,并不斷地為開源社區貢獻代碼。此后他與一些志同道合的朋友一起學習了C++以及Python語言,并參加了一些開發大賽。在大學期間,Ricardo選擇了鐘愛的計算機科學專業,并不斷涉獵計算機安全、算法、游戲架構、OpenGL等大量書籍。
Cocos2D的誕生
2005年,Ricardo和朋友萌生了用Python語言“一星期編寫一個游戲”的想法。在2005~2007年間,他們設計了許多種這樣的游戲。值得注意的是,每次在設計一個新的游戲時,其游戲引擎都是重新開發的。
2008年2月,他們在阿根廷Córdoba市附近的Los Cocos,決定基于以前的開發經驗,把技術進行整合,并組建了游戲引擎的原始開發團隊。一個月后,第一版的游戲引擎誕生了,根據其誕生地取名為Los Cocos。一個月后Los Cocos引擎發布了0.1版,其名稱從Los Cocos更名為Cocos2D。
團隊將研究成果在PyCon 2008和EuroPython 2008上都做了展示,2008年正值史蒂夫·喬布斯公布發展IPhone游戲的想法,因此他們決定抓住商機,在2008年6月宣布跟iPhone平臺進行接軌,并在當月就公布了用Objective-C編寫的Cocos2D for iPhone 0.1版,它與Python版的Cocos2D擁有相同的設計思路。截止到2008年12月,App Store上已有超過40個用Cocos2D引擎開發的游戲。
2009年,團隊設計了Cocos2D的世界編輯器Cocos2D-Python,這款所見即所得的編輯器使用起來十分方便。此時,Cocos2D的各種平臺、各種編程語言移植版也開始涌現。
ShinyCocos(Ruby bindings)、Cocos2D-Android(Java based)、cocosNet(Mono based)都誕生了。同時,英國的設計大師Michael Heald為Cocos2D設計了新的LOGO,如圖1所示(此前Cocos2D的LOGO是一個奔跑的椰子)。
主要功能
流程控制(Flow control):非常容易地管理不同場景(scenes)之間的流程控制
精靈(Sprites):快速而方便的精靈
動作(Actions):告訴精靈們該做什么。可組合的動作如移動(move)、旋轉(rotate)和縮放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋轉(twirl)和透鏡(lens)等更多
平面地圖(Tiled Maps):支持包括矩形和六邊形平面地圖
轉換(Transitions):從一個場景移動到另外一個不同風格的場景
菜單(Menus):創建內部菜單
文本渲染(Text Rendering):支持標簽和HTML標簽動作
文檔(Documents):編程指南 + API參考 + 視頻教學 + 很多教你如何使用的簡單測試例子
BSD許可:盡管用就是了
基于Pyglet:沒有外部的依賴
基于OpenGL:支持硬件加速
配套工具
Bitmap Font Tools
BMFont (Windows)
Fonteditor
Glyph Designer
bmGlyph
Hiero
LabelAtlasCreator
Particle Editing Tools
ParticleCreator
Particle Designer
Physics Editing Tools
Mekanimo
PhysicsBench
PhysicsEditor
VertexHelper
Scene Editing Tools
CocosBuilder
Cocoshop
LevelHelper
Texture Atlas Tools
DarkFunction Editor
SpriteHelper
TexturePacker
Zwoptex
Tilemap Editing Tools
iTileMaps
Tiled Map Editor
市場地位
目前,占有率領先移動游戲引擎主要有cocos2d-x、Unity3D、FlashAIR、虛幻引擎、Corona等。不同的統計方給出的數據各有差異,但總體來講,行業首選的游戲引擎,主要都集中在Cocos2d-x與Unity3D之上。
從全球市場份額數據來看,主要覆蓋中端市場的Unity相對領先,Cocos2d-x則主要占據高端與低端市場,約占1/4市場。但值得注意的是另一個數據是,在中國,Cocos2d-x則相對領先。在中國的2D手機游戲開發中,Cocos2d-x引擎的份額超過70%。
根據觸控科技數據,國內現有45款月收入超千萬手游中,30個基于cocos2d-x開發,2013年手機游戲產業的22起手游并購案中,收購股權大于51%20起,其中13起的代表游戲均基于Cocos2d-x開發。
注:截至2013年12月10日數據更新,國內已有47款月收入超千萬手游,其中32款基于Cocos2d-x開發。
參考資料 >