cocos2d-x是一個應用廣泛的開源游戲引擎,主要是應用與開發2D游戲,開源運行於多個平台,如果只是針對於移動端平台而言,可以運行於android和ios平台。
cocos2d-x目前的版本是3.17,支持C++,JS, lua三種編程語言。
cocos2d-x的核心功能是編寫單獨的游戲,一個游戲作為單個APP,但在實際的APP開發中,如果要增加很多動畫或者比較酷炫的效果,用原始的Native編寫,就會顯得比較麻煩。ios這邊,可以使用蘋果官方的Sprite Kit這個游戲引擎,開發比較方便;android這邊,可以使用原生的java來開發或者引入其他的游戲引擎(個人覺得開源的Libgdx比較合適),如果android采用Java來編寫,很多游戲的基礎功能就會受到很大的限制,譬如游戲暫停、游戲恢復、前后台切換時的音效處理,用android原生來處理就會很麻煩。一個統一的處理方案是在APP里面嵌入游戲引擎,普通頁面由Native處理,游戲頁面由游戲引擎處理,這樣就可以實現在App里面嵌入小游戲的目標。
目前市面上的游戲引擎,支持跨平台、開源、應用廣泛的不是很多,目前市面上的app多采用cocos2d-x。
cocos2d-x語言支持C++, JS, lua三種,技術上而言,選用哪一個都OK。
由於cocos2d-x的引擎主要由C++編寫,所以采用C++來編寫。
這里又分為兩種情況,
如果是app剛開始開發的話,可以直接在生成的cocos2d-x項目中添加android應用或者ios應用的代碼,在游戲項目中添加應用代碼,這樣就不用花時間來配置開發環境了。
如果是app已經有很多功能了,這個時候就需要將cocos2d-x的源碼導入到android應用或者是ios應用中,這個配置環境也會花費一些時間,一個比較穩妥的辦法是,參考生成的cocos2d-x項目的代碼,將cocos2d-x的代碼嵌入到Native(android或者ios)項目中去。
另外,由於cocos2d-x是用於開發游戲的,一般而言,在app中的游戲,技術和邏輯都比較簡單,難點在於與Native端的交互,一個建議就是,不要將游戲頁面與Native頁面耦合的太緊,這樣會有很多意想不到的的坑。