
【基本簡(jiǎn)介】
Cocos2d-x是一套開(kāi)源的跨平臺(tái)游戲開(kāi)發(fā)框架。引擎核心采用C++編寫,提供C++、Lua、JavaScript三種編程語(yǔ)言接口。引擎中提供了圖形渲染、GUI、音頻、網(wǎng)絡(luò)、物理、用戶輸入等豐富的功能。Cocos2d-x適配iOS, Android, HTML5,Windows Phone, Tizen, PC Windows和Mac OS X系統(tǒng),功能側(cè)重在手機(jī)原生和HTML5兩大領(lǐng)域,并積極向3D和VR領(lǐng)域延伸擴(kuò)展。 截止2016年,Cocos2d-x在全球擁有近百萬(wàn)注冊(cè)開(kāi)發(fā)者,游戲在中國(guó)暢銷榜上占據(jù)50%數(shù)量,日韓美等各國(guó)占20%,是中國(guó)第一、全球第二的手機(jī)游戲引擎。
【軟件功能】
流程控制(Flow control):非常容易地管理不同場(chǎng)景(scenes)之間的流程控制精靈(Sprites):快速而方便的精靈
動(dòng)作(Actions):告訴精靈們?cè)撟鍪裁?。可組合的動(dòng)作如移動(dòng)(move)、旋轉(zhuǎn)(rotate)和縮放(scale)等更多
特效(Effects):特效包括波浪(waves)、旋轉(zhuǎn)(twirl)和透鏡(lens)等更多
平面地圖(Tiled Maps):支持包括矩形和六邊形平面地圖
轉(zhuǎn)換(Transitions):從一個(gè)場(chǎng)景移動(dòng)到另外一個(gè)不同風(fēng)格的場(chǎng)景
菜單(Menus):創(chuàng)建內(nèi)部菜單
文本渲染(Text Rendering):支持標(biāo)簽和HTML標(biāo)簽動(dòng)作
文檔(Documents):編程指南 + API參考 + 視頻教學(xué) + 很多教你如何使用的簡(jiǎn)單測(cè)試?yán)?br />BSD許可:盡管用就是了
基于Pyglet:沒(méi)有外部的依賴
基于OpenGL:支持硬件加速

【軟件特色】
易于使用:游戲開(kāi)發(fā)者可以把關(guān)注焦點(diǎn)放在游戲設(shè)置本身,而不必消耗大量時(shí)間學(xué)習(xí)晦澀難懂的OpenGL ES,此外,Cocos2d-x還提供了大量的規(guī)范。高效:Cocos2d-x基于OpenGL ES進(jìn)行圖形渲染,從而讓移動(dòng)設(shè)備的GPU性能發(fā)揮到極致。
靈活:方便擴(kuò)展,易于集成第三方庫(kù)。
免費(fèi):基于MIT協(xié)議的免費(fèi)開(kāi)源框架,用戶可以放心使用,不用擔(dān)心商業(yè)授權(quán)的問(wèn)題。
社區(qū)支持:關(guān)心Cocos2d-x的開(kāi)發(fā)者自發(fā)建立了多個(gè)社區(qū)組織,可以方便的查閱各類技術(shù)資料。

【使用教程】
運(yùn)行HelloWorld項(xiàng)目創(chuàng)建cocos2d的第一個(gè)項(xiàng)目,我用的是cocos2d-x3.7的版本

開(kāi)發(fā)工具用的是Visual Studio 2015,

鍵盤上Win鍵加R組合鍵打開(kāi)運(yùn)行輸入cmd回車進(jìn)入命令行窗口,

在命令行礦口輸入 cocos new HelloWorld -p hbsi.dtd.grz -l cpp -d d:/mygame 這句話是創(chuàng)建一個(gè)新的游戲項(xiàng)目 名字叫HelloWorld,-P代表的包名,一個(gè)游戲的唯一名稱,-l代表的開(kāi)發(fā)語(yǔ)言,我們用的c++,擴(kuò)展名是cpp -d代表的是路徑,把這個(gè)游戲項(xiàng)目存儲(chǔ)到本地的什么地方
。

大家在這個(gè)項(xiàng)目里找到pro.win32這個(gè)文件夾,進(jìn)去找到HelloWorld.sln,用你的vs打開(kāi)它,


vs打開(kāi)以后,在vs界面的點(diǎn)擊本地windows調(diào)試器,第一次編譯比較慢,運(yùn)行快的5分鐘,慢的10多分鐘,運(yùn)行結(jié)果如下,就講到這里,有問(wèn)題 的給我留言,大家快試試吧。


cocos2d-x如何用android studio
打開(kāi)Android Studio軟件,Android Studio打開(kāi)比較慢,需要耐心等待。

打開(kāi)之后,出現(xiàn)下面界面,這里可以打開(kāi)之前編輯過(guò)的項(xiàng)目,也可以導(dǎo)入新項(xiàng)目。

選擇Import project,打開(kāi)出現(xiàn)選擇項(xiàng)目路徑界面,我選的是cocos2dx自帶的例子路徑。需要打開(kāi)proj.android-studio目錄,proj.android-studio目錄才是給Android Studio專用的目錄。

打開(kāi)Android Studio,可以看到項(xiàng)目,左邊可以查看代碼,下面可以查看輸出日志。

點(diǎn)擊上邊的小綠三角運(yùn)行,我們可以用手機(jī)調(diào)試,也可以用自帶的IDE調(diào)試,點(diǎn)擊綠三角會(huì)彈出選擇設(shè)備界面。選擇即可。


等待編譯運(yùn)行,運(yùn)行完之后如果沒(méi)有錯(cuò)誤出現(xiàn)下面界面,如果報(bào)錯(cuò),找到錯(cuò)誤更改之后重新運(yùn)行。


【常見(jiàn)問(wèn)題】
為什么新建工程失?。?br />答:新工程創(chuàng)建失敗可能有以下原因:沒(méi)有安裝 python 2.7.5 版本(不支持 python3)
引擎目錄下 tools/cocos2dconsole為空(一般git clone的倉(cāng)庫(kù)會(huì)出此問(wèn)題,需要運(yùn)行g(shù)itsubmodule update init)
引擎目錄路徑中有空格鍵(1.0.0. beta有此問(wèn)題,以后版本已修正)
IDE目錄和要新建的工程目錄是否為中文路徑
如何添加/編譯cpp代碼?
答:在通過(guò)ide新建工程的時(shí)候在新建工程向?qū)У牡诙€(gè)tab頁(yè)選中"Add Native Codes"就會(huì)建立帶cpp代碼的工程
如果新建工程的時(shí)候沒(méi)有選擇添加cpp源碼,可以在需要的時(shí)候添加:
工程右鍵>Cocos Tools>Add Native Codes...
1.0.x beta 版本,工程右鍵>Cocos Tools>Build Runtime>next next… 在向?qū)У诙?yè)點(diǎn)next的時(shí)候就會(huì)添加cpp源碼到項(xiàng)目
如何導(dǎo)入舊工程?
答:目前ide只能導(dǎo)入ide建立工程,需要在ide中添加舊工程,可以先用ide建立一個(gè)新工程,然后把舊版本的代碼和資源拷貝到新工程的src和res目錄就可以了,main文件為入口文件,可能需要做相應(yīng)的改動(dòng):
1.0.1 beta 以后,可以在/res/config.json中設(shè)置入口文件
1.0.0 beta,需要添加cpp代碼,然后修改/frameworks/runtimesrc/Classes目錄下AppDelegate.cpp和Runtime.cpp文件
如何改為豎屏?
答:3.1版本以后引擎建立的項(xiàng)目可以在res/config.json中設(shè)置
3.0版本,需要添加cpp代碼,然后修改AndroidManifest.xml文件
為什么cocostudio導(dǎo)出的資源在ide中顯示不對(duì)?
答: 那是因?yàn)楣こ痰哪J(rèn)設(shè)計(jì)分辨率是960x640,和cocostudio的設(shè)計(jì)分辨率不匹配,可以在
腳本中設(shè)置一下設(shè)計(jì)分辨率,保持和cocostudio中的設(shè)置一致。
如何改變默認(rèn)設(shè)計(jì)分辨率的大小?如何改變窗口初始大?。?br />答:設(shè)計(jì)分辨率可以在腳本中用代碼設(shè)置
1.0.1 beta以后可以在/res/config.json中設(shè)置桌面runtime的初始窗口大小,
1.0.0.beta 版本需要添加cpp代碼然后修改
framework/runtime_src/Classes/Appdelegate.cpp 中的設(shè)置分辨率的值,然后重新編譯
runtime,然后在debug的配置中設(shè)置使用的runtime為自己編譯的那一個(gè)。
為什么publish package 打包出來(lái)的apk還有play界面?
答:此問(wèn)題不是必現(xiàn),原因是編譯runtime時(shí)候的殘留的文件影響了release的編譯,目前還不清楚具體是哪個(gè)文件,以后會(huì)解決此問(wèn)題。如果出現(xiàn)問(wèn)題,目前可以通過(guò)刪除/frameworks/runtimesrc/proj.android 目錄下的 gen bin objs 三個(gè)子目錄重新打包來(lái)解決問(wèn)題。
如何修改腳本的入口文件?
答:可以在/config.json中設(shè)置
引擎3.0版本在/frameworks/runtimesrc/Classes 目錄下的 AppDelegate.cpp 和Runtime.cpp 中修改
為什么加載ccb/ cocostudio導(dǎo)出的json 失敗?
答: 一般加載失敗都是找不到資源導(dǎo)致的,需要把ccb/json所在路徑通過(guò)fileutils.addsearchpath
添加到系統(tǒng)中。json文件加載還需要注意不能用scenereader讀取ui編輯器導(dǎo)出的文件,會(huì)出問(wèn)
題。
IDE如何安裝eclipse插件呀?
答:1.0.1 beta版本后由于換了程序打包方式,還沒(méi)來(lái)的急支持插件在線安裝。只能通過(guò)手工下
載eclipse插件然后解壓到plugins目錄的方式來(lái)手動(dòng)安裝。
1.0.0 beta版本支持在線安裝插件。
【更新日志】
V3.17Cocos2d-x 3.17 Release Notes Cocos2d-x 3.17 版本著重于工具鏈的更新,和穩(wěn)定性的增強(qiáng)。
測(cè)試環(huán)境
Android 平臺(tái)使用 Android Studio (3.0, 3.1, 3.1.1) 和 NDK r16 進(jìn)行測(cè)試。
版本特性
支持 iPhone X - 支持 Android Studio 3.0+ - CMake 支持全平臺(tái),支持預(yù)編譯引擎庫(kù) - 升級(jí) Spine runtime 至 v3.6.39 - 升級(jí) GLFW 至 3.2.1,并提供預(yù)編譯庫(kù) - 更新 Box2D,并提供預(yù)編譯庫(kù) - 去除 Android 的 ant 工程 - 去除 Visual Studio 2013 的支持
V3.16
Cocos2d-x v3.16版本使用如下Android工具鏈進(jìn)行測(cè)試:
Android Studio 2.3.3
NDK r14
特性
更好地支持 creator_to_cocos2dx 這個(gè)Cocos Creator的插件
新增 LayerRadiaGradientLayer
支持__Android Studio 2.3.3__
修復(fù)lua工程在Xcode 8.0+模擬器崩潰問(wèn)題
回退CocosStudio的reader和flatbuffer
修復(fù)iOS 11編譯錯(cuò)誤
使用bullet的預(yù)編譯庫(kù)以加快編譯速度
去除Windows 10 metor模式、Windows Phone和Tizen的支持
Web引擎更新Spine runtime到v3.5.35特性介紹
更好地支持 creator_to_cocos2dx
creator_to_cocos2dx是一個(gè)Cocos Creator的插件。該插件用于導(dǎo)出Creator創(chuàng)建的場(chǎng)景內(nèi)容給cocos2d-x的C++/Lua工程使用。下文的__插件__就是指這個(gè)插件。
通過(guò)使用該插件,可以把Cocos Creator當(dāng)成cocos2d-x的場(chǎng)景編輯器。該插件目前支持這些特性,會(huì)持續(xù)支持其他新的特性。有些特性只在v3.16+版本支持,比如RichText img標(biāo)簽。
插件的詳細(xì)使用方法可以參考插件倉(cāng)庫(kù)的the READE,歡迎使用并給與反饋。
Lua工程在Xcode 8.0+模擬器崩潰問(wèn)題
v3.16版本之前,Lua工程在Xcode 8.0+模擬器會(huì)崩潰。這是luajit本身的一個(gè)bug,v3.16版本修復(fù)了這個(gè)問(wèn)題。如果不想更新引擎,也可以直接更新luajit。
修復(fù)iOS 11編譯錯(cuò)誤
v3.16版本之前,CCFileUtils使用system()函數(shù)來(lái)刪除目錄。iOS 11刪除了system,因此導(dǎo)致了編譯錯(cuò)誤。改版本修復(fù)了這個(gè)問(wèn)題。對(duì)應(yīng)的PR鏈接在這里,如果不想更新引擎的話,可以參考該P(yáng)R的改動(dòng)合并以修復(fù)這個(gè)問(wèn)題。
Cocos Studio
v3.15
更新了flatbuffer,破壞了Cocos Studio reader的兼容性。該版本回退了flatbuffer和Cocos Studio的reader。
如果不想更新引擎的話,可以手動(dòng)從改版本或者v3.15之前的版本拷貝flatbuffer和Cocos Studio的reader。
提高編譯速度
大部分的項(xiàng)目不需要bullet,因此這個(gè)版本使用bullet的預(yù)編譯庫(kù)以加快編譯速度。后續(xù)還會(huì)繼續(xù)使用更多預(yù)編譯庫(kù),比如Box2D,3D粒子系統(tǒng)等以加快編譯速度。
該版本同時(shí)修復(fù)了大量的warning,后續(xù)版本也會(huì)持續(xù)修復(fù)warning。
去除支持一些平臺(tái)
由于人力資源問(wèn)題,改版本刪除了一些平臺(tái)的支持。
Windows 10的metro模式和Windows Phone平臺(tái)一直是微軟的員工在負(fù)責(zé)維護(hù)了,但是他們決定不再繼續(xù)維護(hù)了,而我們?nèi)肆Y源不足,因此去除支持這兩個(gè)平臺(tái)。不過(guò)在Windows 10仍然可以使用Win32工程。
同樣由于人力資源問(wèn)題,該版本去除了Tizen平臺(tái)的支持。


































