簡介
Cocos2d-x是一個支持多平台的2D手機遊戲引擎,使用C++開發,基于OpenGL ES,基于Cocos2d-iphone,支持WOPhone,iOS4.1,Android2.1及更高版本,WindowsXP&Windows7,WindowsPhone8.
Cocos2d-x是一個開源的移動2D遊戲框架,MIT許可證下發布的。這是一個C++Cocos2d-iPhone項目的版本。Cocos2d-X發展的重點是圍繞Cocos2d跨平台。Cocos2d-x提供的框架外,手機遊戲,可以寫在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x項目可以很容易地建立和運行iOS,Android的三星Bada,黑莓Blackberry操作系統和更多。Cocos2d-x還支持Windows、Mac和Linux等桌面操作系統,因此,我們可以編寫的源代碼很容易在桌面操作系統中編輯和調試。
特點
什麼是“x”?cocos2d-x方式:有時候,我們寫的cpp文件擴展CXX。“x”,标志着該項目是由C++中,并提供C++中的API編寫的。“x”,也意味着交叉。這個開源項目的目标是讓用戶創建跨平台的代碼。目前支持的平台是在iOS,Android的,WinPhone,Win32平台上,但可根據要求提供更多的平台。
cocos2d-x引擎架構
平台支持
Cocos2d-X是跨平台的,具體各個平台的支持如下:
平台狀态支持的版本
iOS穩定4.0~5.0版都已很好地測試過
Android穩定2.0~2.3,3.0~3.1都已很好的測試過,上面的遊戲有超過1660萬的下載量
Windows穩定WinXP,Vista,Win7。如果你在調用OpenGL函數時遇到問題,請上升級你的顯卡驅動
bada穩定完成到v0.10.0.一些alpha用戶已經在三星的store上發布遊戲,這些遊戲總共有90,000+的下載量
Marmalade從0.11.0開始穩定一些遊戲在這個接口上發布。Giovanni Zito和Francis Styck正在維護這一接口
LinuxUbuntu可用Linux接口直接使用OpenGL。
樂Phone可用未知。
MeeGo不推薦由ExitGames貢獻。這個接口已完成但沒有融合。在ExitGames完成這一接口後,MeeGo就被諾基亞&因特爾放棄了。
MacOSX即将到來網龍公司已經把2dx移植到OSX上,源碼将會在2012年公開
WindowPhone7PerAlpha版發布我們稱它為Cocos2D-XXNA。框架和遊戲需要全部用C#重寫
主要功能
流程控制(Flow control):非常容易地管理不同場景(scenes)之間的流程控制
精靈(Sprites):快速而方便的精靈
動作(Actions):告訴精靈們該做什麼。可組合的動作如移動(move)、旋轉(rotate)和縮放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋轉(twirl)和透鏡(lens)等更多
平面地圖(Tiled Maps):支持包括矩形和六邊形平面地圖
轉換(Transitions):從一個場景移動到另外一個不同風格的場景
菜單(Menus):創建内部菜單
文本渲染(Text Rendering):支持标簽和HTML标簽動作
文檔(Documents):編程指南+API參考+視頻教學+很多教你如何使用的簡單測試例子
MIT許可:盡管用就是了
基于Pyglet:沒有外部的依賴
基于OpenGL:支持硬件加速
3D對象:MD2模型支持
腳本語言:支持Lua,JavaScript語言
引擎應用
目前cocos2d-x引擎在國内手機遊戲開發使用的份額接近70%,而國外使用份額則是接近25%,在蘋果APP排行榜top10理面,有7個都是用cocos2d-x引擎開發的。
教程
cocos2d-x跨平台遊戲開發課程内容共分為5個階段:
第一階段主要了解、認識遊戲開發,并為遊戲開發做好準備工作;
第二階段則學習如何使用cocos2d-x引擎進行進行遊戲開發,它包含了cocos2d-x引擎各個方面的基礎知識點;
第三階段則學習遊戲開發中一些常用的技術,包括網絡,安全,優化,編輯器等運用,以及結合移動設備的特點和當前的市場環境,将遊戲做得受歡迎;
第四階段則主要針對遊戲引擎本身進行分析,以滿足遊戲開發中的各種擴展需要,甚至是開發和完善引擎本身;
第五階段就主要結合實際的商業項目,讓大家掌握遊戲開發的全過程,包括策劃,構架,管理等,以便能獨立完成商業及遊戲項目。
遊戲
使用該項目構建的遊戲相當多,具體參見以下圖冊。
2014年3月1日即将發内測的一款卡牌手遊《終極三國OL》也是使用該技術,這款遊戲是該技術應用最好的案例,可以找來學習參考下。