隨著移動領域進入的游戲公司越來越多,開發成本一路上漲。以C++為代表的老一代開發語言,將直面lua,js等腳本語言的沖擊。
最近一年多來,移動端在做腳本化開發方案的公司越來越多。cocos2d開源社區很早就提出了用js打通各個分支版本的設想,底層執行方式是各個分支引擎的-x,-iphone,html5),上層統一使用js,使得項目可以很方便的在各個引擎之間互換。
從游戲開發來看,c++和js各具優勢,兩者結合威力無窮。前不久,cocos2d社區進行了一次聯合發布,邁出了關鍵的一步。本系列將是我學習cocos2d-x for js的一些心得體會。
cocos2d-x for js是cocos2d-x的一部分,他使用js做腳本,底層使用c++運行,在提升開發速度同時,保證了執行效率。
首先,我們下載cocos2d-x的最新版本
http://cocos2d-x.googlecode.com/files/cocos2d-2.1beta3-x-2.1.0.zip
該版本中有好幾個js游戲的例子:CocosDragonJS,MoonWarriors,WatermelonWithMe
我們暫時不使用其他IDE了,對於cocos2d-x的開發者來說,手頭最現成的工具就是vs。用vs2010打開工程,蛋疼的發現,裡面既沒有js代碼,也沒有c++代碼。只有一個spidermonkey的js解釋器,還有一個win32版cocos2d-x的殼。
好吧,首先我們需要導入js的源代碼,很不幸,這個項目的js源碼也沒有放在MoonWarriors的目錄下,而是在
cocos2d-2.1beta3-x-2.1.0\samples\TestJavascript\cocos2d-js-tests\games\MoonWarriors這個文件夾中
我們把這裡面的代碼導入到MoonWarriors項目中。
好吧,這個目錄結構比較蛋疼。但是勉強能看了。
但是又遇到了另外一個問題,我們在js源代碼中,沒法.出來代碼,自動完成功能幾乎是無效的。番茄只能提示出當前js文件中的代碼,在其他文件中的代碼,沒法提示出來。尤其是引擎中的js接口。這個實在太要命了。
我查了半天,發現cocos2d-2.1beta3-x-2.1.0引擎中,根本沒有js版本的代碼。也就是說,他們只是用spidermonkey把js的接口綁定成了c++的。這可如何是好呢?沒代碼就沒法使用自動完成。
呵呵,之前我們說過,這次是一次聯合發布,也就是說各個版本的js接口應該是一致的,也就是說我們可以使用html5版本的js代碼,來協助完成代碼提示。
去下一個html5引擎
http://cocos2d-x.googlecode.com/files/Cocos2d-html5-v2.1.zip
打開後發現,我們要的代碼在這四個文件夾裡
把他們也導入到項目中
然後,我們隨便打開一個項目源代碼,就可以.出來了。自動完成可以使用,哦也。
打完收工。
本文出自 “老G的小屋” 博客,請務必保留此出處http://4137613.blog.51cto.com/4127613/1113786