cocos2d-x

MIT許可證下發布的遊戲框架

Cocos2d-x是一個開源的移動2D遊戲框架,MIT許可證下發布的。這是一個C++ Cocos2d-iPhone項目的版本。Cocos2d-X發展的重點是圍繞Cocos2d跨平台,Cocos2d-x提供的框架。手機遊戲,可以寫在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x項目可以很容易地建立和運行在iOS,Android,黑莓Blackberry等操作系統中。Cocos2d-x還支持Windows、Mac和Linux等桌面操作系統,因此,開發者編寫的源代碼很容易在桌面操作系統中編輯和調試。

引擎介紹


Cocos2d-x是MIT許可證下發布的開源遊戲引擎,遊戲開發快速、簡易、功能強大。2015年2月,觸控科技正式推出了遊戲開發一站式解決方案cocos,將Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。
Cocos2d-x核心優勢在於允許開發人員利用C++、Lua及Javascript來進行跨平台部署,覆蓋平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。
Cocos2d-x用戶不僅包括個人開發者和遊戲開發愛好者,還包括許多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013年9月,全球基於Cocos2d-x引擎的遊戲下載量高達逾15億,其中許多還佔據蘋果應用商店(AppStore)和谷歌應用商店(Google Play)排行榜。同時許多公司如觸控、谷歌、微軟ARM英特爾的工程師在Cocos2d-x領域也非常活躍。
另外,Cocos2d-x版本升級困難的問題,是許多開發者的一大苦惱,而經過整合的cocos,解決了Cocos2d-x的這一問題。升級cocos,其相匹配的Cocos2d-x也將自動進行升級,這極大的提高了開發效率,為開發者們帶來便利,同時也為Cocos2d-x的進一步發展打下基礎。
cocos2d-x
cocos2d-x

特點


易於使用:遊戲開發者可以把關注焦點放在遊戲設置本身,而不必消耗大量時間學習晦澀難懂的OpenGL ES,此外,Cocos2d-x還提供了大量的規範。
高效:Cocos2d-x基於OpenGL ES進行圖形渲染,從而讓移動設備的GPU性能發揮到極致。
靈活:方便擴展,易於集成第三方庫。
免費:基於MIT協議的免費開源框架,用戶可以放心使用,不用擔心商業授權的問題。
社區支持:關心Cocos2d-x的開發者自發建立了多個社區組織,可以方便的查閱各類技術資料。

家族成員


cocos2d是一個基於MIT協議的開源框架,用於構建遊戲、應用程序和其他圖形界面交互應用。可以讓你在創建自己的多平台遊戲時節省很多的時間。
Cocos2d也擁有幾個主要版本,包括Cocos2d-iPhone、Cocos2d-X,以及被社區普遍看好的Cocos2d-HTML5和JavaScript bindings for Cocos2d-X。
Cocos2d-html5 : Cocos2d-HTML5 是基於 HTML5 規範集的 Cocos2d引擎分支,具有跨平台的能力和強大的性能,是 Cocos2d 系列引擎隨著網際網路技術演進而產生的一個分支,該分支基於 HTML5 規範集,目標是可對遊戲進行跨平台部署,Cocos2d-HTML5 採用 MIT 開源協議,設計上保持Cocos2d家族的傳統架構,並可聯合 Cocos2d-x JavaScript-binding 介面,最大程度地實現遊戲代碼在不同平台上的復用。
JSB :Cocos2d-x JavaScript-binding 是使用 SpiderMonkey 引擎實現 C++ 介面到 JavaSciprt 的綁定方案,它可以使用 Js 快速開發遊戲,以更簡單的語法實現功能,並且能與 Cocos2D-HTML5 相互兼容,使同一套代碼,運行兩個平台,這是相比使用 Lua 實現的一個明顯優勢。
Cocos Studio :Cocos Studio 是一套基於 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。

主要功能


流程式控制制(Flow control):非常容易地管理不同場景(scenes)之間的流程式控制制
精靈(Sprites):快速而方便的精靈
動作(Actions):告訴精靈們該做什麼。可組合的動作如移動(move)、旋轉(rotate)和縮放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋轉(twirl)和透鏡(lens)等更多
平面地圖(Tiled Maps):支持包括矩形和六邊形平面地圖
轉換(Transitions):從一個場景移動到另外一個不同風格的場景
菜單(Menus):創建內部菜單
文本渲染(Text Rendering):支持標籤和HTML標籤動作
文檔(Documents):編程指南 + API參考 + 視頻教學 + 很多教你如何使用的簡單測試例子
BSD許可:儘管用就是了
基於Pyglet:沒有外部的依賴
基於OpenGL:支持硬體加速

架構目錄結構


cocos2d-x引擎架構
cocos2d-x引擎架構
架構:
目錄結構:
從github下載Cocos2d-x repo資源包后,或解壓穩定版ZIP壓縮包后,就會看到如下的目錄結構:
目錄名稱說明
CocosDenshion音頻支持。注意:Android平台中背景音樂和短音效所使用的系統API不同。
cocos2d-xCocos2d-x框架的主目錄。
document你可以下載doxygen文檔系統,利用該系統打開本文檔文件夾內的doxygen.config文件,然後再生成離線API文檔。
extensions如果需要更多圖形用戶界面的控制功能、網路訪問、CocosBuilder支持甚至2.5D功能,你可以使用using namespace cocos2d::extension。
external包括box2d及Chipmunk庫。
licensescocos2d依賴很多其他開源項目。所有授權許可文件都在這個目錄。
samples重要!這是你該開始用到的文件。從Cpp/HelloCpp開始學習,你會在TestCpp中發現所有類的用法。luajs樣本也在這個目錄。
scripting我知道你不喜歡C++,寫起來太複雜。沒問題,我們有Lua和Javascript。Scripting文件夾包括來自火狐的lua官方引擎和SpiderMonkey引擎。
template該目錄包括在不同集成開發環境及不同平台中創建Cocos2d-x新項目的模板。這裡彙集了數量龐大覆蓋各種開發環境和平台的模板!
tools包括將C++綁定至lua及javascript的腳本文件。
CHANGELOG作者修訂記錄文檔。
cocos2d-win32.vc2010.sln配套Visual Studio 2010打開。注意:VS 2008自Cocos2d-x v2.0版本以來就不再支持。
cocos2d-win32.vc2012.sln配套Visual Studio 2012打開。
create-android-project.bat在Windows平台運行。具體用法請參考如何用腳本創建Android項目。
create-android-project.sh在Linux或OS X平台運行。具體用法請參考如何用腳本創建Android項目。
install-templates-msvc.bat執行該文件安裝后,你可以在Visual Studio中創建空的Cocos2d-x項目。
install-templates-xcode.sh執行該文件安裝后,你可以在Xcode中創建空的Cocos2d-x項目。

市場地位


目前,佔有率領先移動遊戲引擎主要有Cocos2d-x、Unity3D、FlashAIR、Unreal、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開發。

財力支持


目前,Cocos2d-x, Cocos2d-html5及Cocos Studio由觸控科技提供財力支持。