溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

發(fā)布時(shí)間:2020-06-18 12:50:23 來源:網(wǎng)絡(luò) 閱讀:23102 作者:老G 欄目:游戲開發(fā)

隨著移動(dòng)領(lǐng)域進(jìn)入的游戲公司越來越多,開發(fā)成本一路上漲。以C++為代表的老一×××發(fā)語言,將直面lua,js等腳本語言的沖擊。

最近一年多來,移動(dòng)端在做腳本化開發(fā)方案的公司越來越多。cocos2d開源社區(qū)很早就提出了用js打通各個(gè)分支版本的設(shè)想,底層執(zhí)行方式是各個(gè)分支引擎的(-x,-iphone,html5),上層統(tǒng)一使用js,使得項(xiàng)目可以很方便的在各個(gè)引擎之間互換。

從游戲開發(fā)來看,c++和js各具優(yōu)勢,兩者結(jié)合威力無窮。前不久,cocos2d社區(qū)進(jìn)行了一次聯(lián)合發(fā)布,邁出了關(guān)鍵的一步。本系列將是我學(xué)習(xí)cocos2d-x for js的一些心得體會(huì)。

cocos2d-x for js是cocos2d-x的一部分,他使用js做腳本,底層使用c++運(yùn)行,在提升開發(fā)速度同時(shí),保證了執(zhí)行效率。

首先,我們下載cocos2d-x的最新版本

http://cocos2d-x.googlecode.com/files/cocos2d-2.1beta3-x-2.1.0.zip

 

該版本中有好幾個(gè)js游戲的例子:CocosDragonJS,MoonWarriors,WatermelonWithMe

我們暫時(shí)不使用其他IDE了,對于cocos2d-x的開發(fā)者來說,手頭最現(xiàn)成的工具就是vs。用vs2010打開工程,蛋疼的發(fā)現(xiàn),里面既沒有js代碼,也沒有c++代碼。只有一個(gè)spidermonkey的js解釋器,還有一個(gè)win32版cocos2d-x的殼。

【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

 

好吧,首先我們需要導(dǎo)入js的源代碼,很不幸,這個(gè)項(xiàng)目的js源碼也沒有放在MoonWarriors的目錄下,而是在

cocos2d-2.1beta3-x-2.1.0\samples\TestJavascript\cocos2d-js-tests\games\MoonWarriors這個(gè)文件夾中

我們把這里面的代碼導(dǎo)入到MoonWarriors項(xiàng)目中。

【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

 

好吧,這個(gè)目錄結(jié)構(gòu)比較蛋疼。但是勉強(qiáng)能看了。

但是又遇到了另外一個(gè)問題,我們在js源代碼中,沒法.出來代碼,自動(dòng)完成功能幾乎是無效的。番茄只能提示出當(dāng)前js文件中的代碼,在其他文件中的代碼,沒法提示出來。尤其是引擎中的js接口。這個(gè)實(shí)在太要命了。

我查了半天,發(fā)現(xiàn)cocos2d-2.1beta3-x-2.1.0引擎中,根本沒有js版本的代碼。也就是說,他們只是用spidermonkey把js的接口綁定成了c++的。這可如何是好呢?沒代碼就沒法使用自動(dòng)完成。

 

呵呵,之前我們說過,這次是一次聯(lián)合發(fā)布,也就是說各個(gè)版本的js接口應(yīng)該是一致的,也就是說我們可以使用html5版本的js代碼,來協(xié)助完成代碼提示。

去下一個(gè)html5引擎

http://cocos2d-x.googlecode.com/files/Cocos2d-html5-v2.1.zip

打開后發(fā)現(xiàn),我們要的代碼在這四個(gè)文件夾里【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

把他們也導(dǎo)入到項(xiàng)目中

【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

 

然后,我們隨便打開一個(gè)項(xiàng)目源代碼,就可以.出來了。自動(dòng)完成可以使用,哦也。

【cocos2d-x從c++到j(luò)s】01:迎接腳本時(shí)代的到來

打完收工。

 

 

 

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI