Quick-Cocos2d-x初学者游戏教程1
前言
雖然之前已經(jīng)寫過(guò)了好些 Cocos2d-x 相關(guān)的教程和文檔,但本次卻是我第一次接觸 Quick,第一次接觸 Lua,所以此次的教程本人將站在一個(gè)初學(xué)者的角度(看到這里是不是想白眼我了,哈哈,別切啊!盡管第一次,但我身邊可是有很多 Quick 大神的,廖大大也在旁邊辦公室,沒(méi)準(zhǔn)撒個(gè)嬌大神就把他知道的全部要點(diǎn)傾囊相授了啦!),全方位的解析 Quick 的學(xué)習(xí)過(guò)程,并同大家一起學(xué)習(xí)如何利用 Quick-Cocos2d-x 開發(fā)一款屬于自己的游戲,包教包會(huì)的哦。
好了,那么下面我們就開始進(jìn)入正題吧。
Quick-Coco2d-x是什么?
首先,想了解 Quick-Coco2d-x 就必須先知道 Cocos2d-x 是什么,不過(guò)我想關(guān)于 Cocos2d-x 的介紹這里就不用我來(lái)廢話了吧,畢竟這么牛的游戲引擎還是應(yīng)該很點(diǎn)名氣的吧!
其次,由于 Cocos2d-x 中使用的是 C++ 語(yǔ)言,而 C++ 又對(duì)開發(fā)人員要求較高,所以逐漸地,開發(fā)者們開始將 Cocos2d-x 的 C++ 接口轉(zhuǎn)成了 Lua 接口,從而衍生出了 Cocos2d-lua 的版本。而 Quick(Quick-Coco2d-x)是 Cocos2d-lua 的一個(gè)豪華增強(qiáng)和擴(kuò)展版本,它重寫了支持代碼、解決了內(nèi)存泄露和只能使用全局函數(shù)做回調(diào)等等問(wèn)題。Quick 能讓開發(fā)者使用 Lua 這種簡(jiǎn)單易懂的腳本語(yǔ)言來(lái)編寫游戲,并大大提高了開發(fā)效率。現(xiàn)在廖大大的 Quick 團(tuán)隊(duì)也已接手了 Cocos2d-lua 的開發(fā)和維護(hù)工作,所以未來(lái) Quick 和 Cocos2d-lua 將有望完全合并起來(lái)。
本次教程所用 Quick-Coco2d-x 版本為?v3.3 Final,大家可在http://cn.cocos2d-x.org/download/鏈接中找到對(duì)應(yīng)的下載地址并安裝該程序。
注意:不要把 Quick 安裝到根目錄,或者帶有空格或中文的路徑中。另外,Quick-Cocos2d-x 需要 Python 的支持,所以請(qǐng)自行檢測(cè)你的電腦是否裝有Python,方法是在終端中輸入?python命令行,如未安裝請(qǐng)先下載安裝2.x版本的 Python。
Quick 安裝完成后,在它的根目錄下可以找到有兩個(gè)名為setup_mac.sh、setup_win.bat的批處理腳本,它們分別是搭建Mac和Windows開發(fā)環(huán)境的腳本,根據(jù)自己系統(tǒng)的需要運(yùn)行相應(yīng)的腳步,就可以自動(dòng)為你完成 Quick 環(huán)境的配置。在此之后,我們就可以雙擊安裝目錄下的 player3 圖標(biāo)(Windows 下桌面上會(huì)生成 player 的快捷鍵),啟動(dòng) Quick 自帶的模擬器了。在該模擬器界面中,我們可以創(chuàng)建、打開、運(yùn)行項(xiàng)目,同時(shí)還能查看很多 Quick 自帶的示例項(xiàng)目。
關(guān)于 Quick 更多的使用說(shuō)明可參考安裝目錄下的?README?文件。
Quick-Coco2d-x開發(fā)工具
一般情況下,我們通常都會(huì)采用Cocos Code IDE作為開發(fā)工具來(lái)快速開發(fā)游戲,這里Cocos Code IDE是一個(gè)基于 Eclipse 的跨平臺(tái) IDE,專門為 Cocos2d-x Lua & JavaScript 開發(fā)人員準(zhǔn)備,通過(guò) IDE 你可以方便的創(chuàng)建游戲工程、編寫并且支持在不同平臺(tái)上調(diào)試代碼、實(shí)時(shí)查看代碼被改變后的效果,最終直接發(fā)布成一個(gè)可上架的安裝包。
然而,最近學(xué)習(xí)Quick的時(shí)候聽同事和很多用戶反饋說(shuō):Quick-Coco2d-x v3.3 Final這個(gè)版本在Cocos Code IDE上還存在一些Bug,并且執(zhí)行效率也相對(duì)較慢。所以在大神的推薦下,本教程我們就不選用Cocos Code IDE作為開發(fā)工具了,而是使用另一種高效的方法來(lái)完成該跑酷游戲的開發(fā)——Sublime + QuickXDev。
當(dāng)然如果你非要用Cocos Code IDE還是可以的,其安裝和使用說(shuō)明可參考:Cocos Code IDE + Quick-Cocos2d-x 快速開發(fā)游戲一文。
** 開發(fā)工具的安裝配置 **
Sublime Text 是一個(gè)具有漂亮的用戶界面和強(qiáng)大的功能的代碼編輯器,也是HTML和散文先進(jìn)的文本編輯器,它的很多功能都依賴于其強(qiáng)大的插件系統(tǒng)。Sublime Text支持Lua語(yǔ)言,但它本身不具有像代碼提示這樣的功能,所以要想用Sublime Text快速的開發(fā)Quick-Coco2d-x程序,我們就必須安裝強(qiáng)大的QuickXDev插件。
Sublime Text的下載地址為:http://www.sublimetext.com/,下載后直接安裝即可。
QuickXDev的下載地址為:http://git.oschina.net/lonewolf/QuickXDev,將它下載解壓之后重命名為QuickXDev,然后把該QuickXDev文件夾放入到Sublime Text的Packages目錄下(可通過(guò)Sublime Text->Preferences->Browse Packages打開)。
接著依次打開Preferences->Package Settings->QuickXDev->Settings–Default,如下圖所示:
復(fù)制該處的內(nèi)容到Preferences->Package Settings->QuickXDev->Settings–User(此時(shí)User是空白的)中,同時(shí)在 “quick_cocos2dx_root” 項(xiàng)的后面設(shè)置Quick-Coco2d-x的安裝路徑,如下圖所示:
設(shè)置完成后,User的內(nèi)容將會(huì)覆蓋Default下的設(shè)置。
注意:以上路徑應(yīng)為你自己的安裝路徑,如果是Windows系統(tǒng),則該處的路徑形如:
新建項(xiàng)目
開發(fā)工具準(zhǔn)備就緒以后,下面我們就可以開始創(chuàng)建我們的項(xiàng)目了.
首先啟動(dòng) Quick 下的 player3,在這兒的示例標(biāo)簽下你可以看到很多Quick自帶的示例,對(duì)于初學(xué)者來(lái)說(shuō),看看這些示例的使用方法會(huì)對(duì)我們學(xué)習(xí)Quick有很大的幫助,它也是快速學(xué)習(xí)Quick極好的教材。其界面如下圖所示:
接著我們來(lái)新建一個(gè)項(xiàng)目,點(diǎn)擊界面上的“新建項(xiàng)目”,player會(huì)自動(dòng)切換到新建項(xiàng)目的界面。
設(shè)置好新建項(xiàng)目的存放路徑,包名,屏幕方向,以及是否復(fù)制C++源碼等選項(xiàng)后,我們就可以點(diǎn)擊右下角的 “Create Project” 按鈕創(chuàng)建項(xiàng)目了。這里需要注意的是,如果你的項(xiàng)目不涉及到 C++ 部分,那么可以取消“Copy Source Files”項(xiàng)的勾選,這樣可以加快項(xiàng)目的創(chuàng)建速度。
點(diǎn)擊 Create Project 按鈕后,你會(huì)發(fā)現(xiàn)右下角的 “Create Project” 按鈕變成了“Open..”,同時(shí)還會(huì)出現(xiàn)一個(gè)顯示創(chuàng)建項(xiàng)目結(jié)果的終端窗口。待終端窗口顯示創(chuàng)建完成時(shí),我們就可以點(diǎn)擊“Open..”打開項(xiàng)目了。
一個(gè)默認(rèn)創(chuàng)建好的項(xiàng)目其實(shí)就是個(gè)程序員最熟悉的“Hello World”程序,然后后面我們就可以以這個(gè)“Hello World”程序?yàn)榛A(chǔ)來(lái)編寫自己的游戲。
每個(gè)新建的Quick程序都帶了一個(gè)控制臺(tái)窗口,如下圖所示。這個(gè)控制臺(tái)窗口是player的輸出窗口,它包括了你打印的日志以及崩潰日志,當(dāng)你的程序報(bào)錯(cuò)時(shí),它的輸出日志將是很好的檢驗(yàn)憑證。
項(xiàng)目目錄分析
為了更快更好的學(xué)習(xí)Quick程序開發(fā),了解其項(xiàng)目結(jié)構(gòu)是很有必要的,所以下面我們就來(lái)依次看看引擎和新建項(xiàng)目的目錄結(jié)構(gòu)。
引擎目錄結(jié)構(gòu)分析
打開 Quick 安裝目錄,其結(jié)構(gòu)如下圖所示:
- build:該目錄是 Cocos2d-x 的項(xiàng)目存放目錄。
- cocos: 改文件夾中包含了大部分引擎的庫(kù)文件,其中包括:2d、3d、聲音、基礎(chǔ)庫(kù)、數(shù)學(xué)庫(kù)、物理庫(kù)等等一系列相關(guān)的類文件。
- docs:該文件夾下包含了引擎的API文檔、發(fā)布文檔(最新版本更改介紹,運(yùn)行環(huán)境要求,編譯環(huán)境要求及如何運(yùn)行測(cè)試用例的相關(guān)命令)、Cocos編程規(guī)范等等文檔。我們可以通過(guò)它查看引擎的代碼API,以及最新版本更改介紹,quick運(yùn)行環(huán)境要求,編譯環(huán)境要求及如何運(yùn)行測(cè)試用例的相關(guān)命令。里面的文件多是html和md格式的。
- extensions: 其中主要是GUI擴(kuò)展庫(kù).
- external中包含物理引擎第三方庫(kù),Box2D和chipmunk;數(shù)據(jù)庫(kù)第三方庫(kù),sqlite3;網(wǎng)絡(luò)第三方庫(kù),webp,websockets;以及一些其他第三方庫(kù),像編碼轉(zhuǎn)換庫(kù)、數(shù)據(jù)格式庫(kù)等等。
- licenses里面包含了引擎中用到的各種許可證文件。LICENSE_SpiderMonkey,spider引擎中用到的SpiderMonkey-JS運(yùn)行環(huán)境,需要此許可證,該許可證適用于MPL/GPL/LGPL幾種許可證LICENSE_chipmunk,LICENSE_JS,LICENSE_lua等等。引擎在這些許可證下可以對(duì)相應(yīng)的源代碼進(jìn)行任意拷貝和修改。
- quick:這個(gè)是Quick引擎代碼。其中包含了創(chuàng)建各個(gè)平臺(tái)新工程的批處理工具,Quick框架的核心目錄,2dx和一些其他依賴的c++文件,模版工程,Quick所帶的例子等等Quick的核心文件。
- README.html/README.md:Quick的使用指南,關(guān)于Quick的安裝、使用、創(chuàng)建等等信息都可以出這里獲取,它其實(shí)相當(dāng)于docs內(nèi)文件的目錄。
- setup_mac.sh: 搭建Mac開發(fā)環(huán)境的腳本。
- setup_win.bat: 搭建Windows開發(fā)環(huán)境的腳本。
- tools:Quick用做luabinding的工具,可用來(lái)導(dǎo)出自定義的C++類。
- version:版本標(biāo)示。
新項(xiàng)目目錄結(jié)構(gòu)分析
打開新建項(xiàng)目的目錄,我們來(lái)分析下新建項(xiàng)目的目錄結(jié)構(gòu),其結(jié)構(gòu)如下圖所示:
- config.json: 項(xiàng)目信息配置文件。
- debug.log: 項(xiàng)目日志,即打印控制臺(tái)窗口輸出的所有日志文件。
- frameworks: 存放Cocos2d-x引擎核心代碼及各個(gè)平臺(tái)運(yùn)行時(shí)資源。
- res:存放項(xiàng)目資源的文件夾,也就是說(shuō),我們游戲開發(fā)中用到的所有圖片、字體、音頻等資源都放在這里。
- runtime:存放預(yù)編譯的運(yùn)行時(shí)庫(kù)。
- src:項(xiàng)目源碼所存放文件夾,即游戲中的所有的 .lua 文件都放在這里。
以上目錄中 res 和 src 文件夾是比較最要的,開發(fā)中我們也只需要對(duì)這兩個(gè)文件夾里的內(nèi)容進(jìn)行操作,就可以實(shí)現(xiàn)游戲的開發(fā)。
在新項(xiàng)目的src文件夾中,現(xiàn)在你是可以看到一些 .lua 文件的,這些就是我們工程的lua代碼。接下來(lái)我們簡(jiǎn)單的介紹下src中各項(xiàng)的功能:
- cocos: cocos引擎代碼
- framework: quick的核心部分,在Cocos2d-x基礎(chǔ)上自己搭建的一套framework
- config.lua: 工程配置文件,包括分辨率適配等信息
- main.lua: 工程入口
- app: 工程的界面等文件,存放我們的游戲代碼
- MyApp.lua: 游戲的第一個(gè)界面
- scenes: 存放游戲各個(gè)場(chǎng)景代碼的文件夾
- MainScene: 游戲的第一個(gè)場(chǎng)景
在游戲開發(fā)中,需要修改和添加界面時(shí),我們只需要在相應(yīng)的文件夾中添加場(chǎng)景就可以了。
好了,這章就算講完了,下一章我們將先講解新建項(xiàng)目各個(gè)lua文件的代碼結(jié)構(gòu)和使用方法,并開始著手新游戲的開發(fā)。
總結(jié)
以上是生活随笔為你收集整理的Quick-Cocos2d-x初学者游戏教程1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《破晓》--许如芸
- 下一篇: NTC热敏电阻检测温度