1. 程式人生 > >Cocos2d-x Lua遊戲開發Mac環境搭建以及一點點感悟

Cocos2d-x Lua遊戲開發Mac環境搭建以及一點點感悟

感覺 慢慢 怎樣 tid lease 人生 第三方 什麽 增強

接觸Cocos2d-x


最近由於公司項目的需要,自己開始接觸Cocos,開始做一些簡單的輕量級的遊戲,以前沒有接觸過這一塊的東西,也是借助這個機會學習一下遊戲的開發,由於以前自己接觸的全都是iOS和Android移動端App的開發,所以這整個Cocos的學習總結的文章會在真個過程中貫穿對比自己相對熟悉的iOS和Android對比學習,要是也有和我自己情況類似的朋友,接下來總結的這整個Cocos系列的文章也許可以幫助到你,有不足的地方也希望指正,我們一同進步。

剛開始的時候,由於以前的遊戲是用C++開發,自己就去慢慢的開始學習用Cocos2d-x C++簡單的了解項目。自己看了最基本的一些Cocos的東西之後,說以後的遊戲用JS做,然後又開始學習JS,最後決定用Lua開發,可能這就是人生.....其實上面說的意思就是想總結一些開發遊戲的時候我們可以有的選擇,開發語言就有 C++,JavaScript , Lua 三個選擇,它們和你真正利用它們做遊戲就像你懂OC、Swift。懂Java之後去做iOS或者Android之間的距離,這個可以仔細的想一想,懂這些語言和開發實際項目之間距離是什麽,然後也就明白懂這些語言和實際的遊戲項目開發之間欠缺的就是Cocos2d-x的東西,要認清了這些也就了解了“遊戲怎麽做”這個基本的問題吧!

說說Cocos


Cocos是一個大概念,等我們具體的開發中使用到的是Cocos2d-x模塊的東西,看看這個Cocos 產品的一個架構:

技術分享



1: Cocos Creator 這是一個為我們開發遊戲做的IDE,具體的可以看這個 Cocos Creator v1.5.x 用戶手冊

2: Framework 這個就是開發的核心Cocos2d-x,其實按照我自己的理解,和iOS中我們常說的框架是類似的,比如你處理一些基本數據你就需要Foundation框架,處理UI的東西需要UIKit框架一樣,這個Cocos2d-x就是我們開發遊戲是需要的“框架”。

3: SDK 這一部分的AnySDK是為CP商提供一套第三方SDK接入解決方案,包括我們常用的像支付、分享、統計分析等等。具體的也可以看看 SDK文檔,可能有些人還知道棱鏡SDK、anysdk、易接(1SDk),關於這幾個有什麽區別,甚至在什麽時候用哪個等等的額問題,下面這篇文章可能能說明問題:

如何評價棱鏡SDK、anysdk、易接(1SDk),他們都有什麽差別?

4、

通過上面的分析和闡述能明白 Cocos 是什麽 這個問題就可以了。

說說Cocos開發語言


前面Framework提到過遊戲開發的語言,就是C++ 、JavaScript 、Lua這三種,按照我自己的一點點小小的理解,要說什麽語言比較好一點這種問題也不夠資格回答,在知乎上看到過這樣的問題,有興趣的可以去看看,也許裏面一些回答能讓你有自己的理解:

最適合遊戲開發的語言是什麽?

相信每一個程序猿對C/C++是有一定的掌握的,按照自己學習JS和Lua的過程,它們的學習難度都不大,完全可以通過對C掌握來相對容易的拿下它們。所以千萬不要為你要學習一門新的開發語言而擔心或者害怕,哪有程序猿不需要學習新東西更新自己的知識庫的!當然這點難度的是也難不倒偉大的程序猿。

接下來說說Lua,Lua是一個腳本語言,具體的Lua語法什麽的我們就不提了,在後面具體說到Lua的時候再說,知道了Cocos2d-Lua你還需要知道這個: Quick-Coco2d-x

下面這段話是在泰然網(也就是Quick-Coco2d-x官網)的教程裏面說的,具體的告訴我們,什麽是 Quick-Coco2d-x

首先,想了解 Quick-Coco2d-x 就必須先知道 Cocos2d-x 是什麽,不過我想關於 Cocos2d-x 的介紹這裏就不用我來廢話了吧,畢竟這麽牛的遊戲引擎還是應該很點名氣的吧!

其次,由於 Cocos2d-x 中使用的是 C++ 語言,而 C++ 又對開發人員要求較高,所以逐漸地,開發者們開始將 Cocos2d-x 的 C++ 接口轉成了 Lua 接口,從而衍生出了 Cocos2d-lua 的版本。而 Quick(Quick-Coco2d-x)是 Cocos2d-Lua 的一個豪華增強和擴展版本,它重寫了支持代碼、解決了內存泄露和只能使用全局函數做回調等等問題。Quick 能讓開發者使用 Lua 這種簡單易懂的腳本語言來編寫遊戲,並大大提高了開發效率。現在Quick 團隊也已接手了 Cocos2d-lua 的開發和維護工作,所以未來 Quick 和 Cocos2d-lua 將有望完全合並起來。

我想通過上面兩段話也就理解了Quick-Coco2d-x 和 Cocos2d-lua的關系!而下面的開發環境的搭建我們也就這兩個方面說說,用Quick-Coco2d-lua 和Cocos2d-lua進行一個對比,也就能知道怎樣的開發環境對於開發人員是最友好的。

在Mac上開發遊戲環境選擇搭建


首先通過環境的搭建和各種對比之後在這拋出一個見解: 目前自己覺得比較友好的方式是 Quick-Coco2d-x + Sublime Text 3(2/3都可以)

Sublime Text 3 你可以直接去官網下載 具體的 Quick-Coco2d-x 你可以看看這個:Quick社區版第一個穩定版,Quick-Cocos2dx-Community 3.6 release發布!

它詳細的介紹了Mac版本的客戶端Paly3安裝方式,下面就是一個Paly3運行起來的樣子:

技術分享

接下來這個Paly3 我們就不再說了,新建項目/導入項目 或者打開已有的項目等等的相信都能理解。要是安裝中出現一些問題,希望都可以自己動手上網解決了,當然也可以加我QQ多多交流。

Mac 搭建遊戲開發環境還有一些方式,比如:還有利用 Cocos Studio 2 的,這個具體的可以看它的官網: Cocos 官網

看看官網的下載,相信創建一個基本的Demo這種事也難不住你。

技術分享

直接運行你創建在項目,也就可以看到Demo啦。

再給大家分享個鏈接: Quick-Cocos2d-x教程匯總

後面文章做的事


其實這篇文章起筆真的也是許久之前的事情了,自己接觸Cocos也就兩個多月,感覺也度過了最艱難的入門時期,最近也真的是太忙,沒有時間留給自己總結這兩個多月的東西了,沒錯,國慶加班到現在,真的是累!

不傳播負能量啦,說說後面的,其實很想仔細的把iOS內存管理,Block以及多線程的東西也好好的總結一下的,最近給遊戲裏面負責添加了蘋果原生支付,所以Lua和iOS的交互以及蘋果內購方面的東西也值得好好總結一下啦。

接下來應該會先總結Lua和iOS交互以及支付的事,畢竟也要給客戶寫文檔,到時順便把這些一起做了。

猿猿們,1024快樂!!!

Cocos2d-x Lua遊戲開發Mac環境搭建以及一點點感悟