在說之前,我還是把這個兩個名詞區分一下,畢竟太長,後面打起來肯定麻煩,quick-cocos2d-x就簡稱quick,cocos2d-x lua就姑且叫原生lua吧。
我覺得對於第一次接觸這兩個的小夥伴們肯定多多少少會跟我有一樣的疑惑,這兩個是使用兩種不同的api吧。我只能說說對了一半,確實,quick有一套自己的API,但是,qucik的這套api是在原生lua上進行再次封裝的,所以quick還是支持原生lua的api。
還記得第一次打開quick主頁的時候,那時候還沒有被觸控收購,就看到標題寫到—— “這是一個志在提高 cocos2d-x 開發效率的社區” ,是啊,要是不提高怎麼會叫quick呢。還有一次看了一下他們的人才招聘,有一條是這麼寫到——“有強烈的衝動想讓別人被自己開發的工具感動到哭”,哈哈,確實現在慢慢覺得是有點被感動到哭,提供的一些API的確便捷很多很多。
下面簡單舉個例子吧,還是顯示經典的HelloWorldScene中那張背景圖片,如果我們在quick中使用原生lua的寫法,就和使用C++寫一樣
function MainScene:ctor()
self.size = CCDirector:sharedDirector():getWinSize()
local sp = CCSprite:create("HelloWorld.png")
sp:setPosition(ccp(self.size.width/2, self.size.height/2))
self:addChild(sp)
end
需要這樣些語句才能完成,不過用quick提供的API,那麼就簡單太多了,真的感動的要哭
function MainScene:ctor()
local sp = display.newSprite("HelloWorld.png", display.cx, display.cy)
self:addChild(sp)
end
就這些,是不是太方便,對於座標的提供大大簡化了需求,32個贊!
下面說一說對於quick的學習方法吧,我覺得C++那一套編寫遊戲的方法你掌握的話,對於lua開發遊戲難度到並不是太大,畢竟相應的函數方法都是有的,困難之處在於怎麼使用lua的方式寫出來,比如一個觸摸響應事件,如果用quick提供的方式寫出來,這就需要好好看看API了,當然quick提供的在線API還不是很完整,有些地方還是不太詳細的,所以看sample是另一個途徑了,quick裏面提供了大量的sample,這對於我們來說比任何資源都重要。一旦把這些基礎的用法掌握了,可以看看那個CoinFlip這個完整的遊戲示例,我覺得這樣一來差不多自己就能用quick開發遊戲了。
我想說的也就這些,後面有時間分享一下自己quick的學習筆記