Quick-Cocos2d-x初學者遊戲教程1

前言

雖然之前已經寫過了好些 Cocos2d-x 相關的教程和文檔,但本次卻是我第一次接觸 Quick,第一次接觸 Lua,所以此次的教程本人將站在一個初學者的角度(看到這裏是不是想白眼我了,哈哈,別切啊!儘管第一次,但我身邊可是有很多 Quick 大神的,廖大大也在旁邊辦公室,沒準撒個嬌大神就把他知道的全部要點傾囊相授了啦!),全方位的解析 Quick 的學習過程,並同大家一起學習如何利用 Quick-Cocos2d-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 版本爲 v3.3 Final,大家可在http://cn.cocos2d-x.org/download/鏈接中找到對應的下載地址並安裝該程序。

注意:不要把 Quick 安裝到根目錄,或者帶有空格或中文的路徑中。另外,Quick-Cocos2d-x 需要 Python 的支持,所以請自行檢測你的電腦是否裝有Python,方法是在終端中輸入 python命令行,如未安裝請先下載安裝2.x版本的 Python。

Quick 安裝完成後,在它的根目錄下可以找到有兩個名爲setup_mac.sh、setup_win.bat的批處理腳本,它們分別是搭建Mac和Windows開發環境的腳本,根據自己系統的需要運行相應的腳步,就可以自動爲你完成 Quick 環境的配置。在此之後,我們就可以雙擊安裝目錄下的 player3 圖標(Windows 下桌面上會生成 player 的快捷鍵),啓動 Quick 自帶的模擬器了。在該模擬器界面中,我們可以創建、打開、運行項目,同時還能查看很多 Quick 自帶的示例項目。

關於 Quick 更多的使用說明可參考安裝目錄下的 README 文件。

Quick-Coco2d-x開發工具

一般情況下,我們通常都會採用Cocos Code IDE作爲開發工具來快速開發遊戲,這裏Cocos Code IDE是一個基於 Eclipse 的跨平臺 IDE,專門爲 Cocos2d-x Lua & JavaScript 開發人員準備,通過 IDE 你可以方便的創建遊戲工程、編寫並且支持在不同平臺上調試代碼、實時查看代碼被改變後的效果,最終直接發佈成一個可上架的安裝包。

然而,最近學習Quick的時候聽同事和很多用戶反饋說:Quick-Coco2d-x v3.3 Final這個版本在Cocos Code IDE上還存在一些Bug,並且執行效率也相對較慢。所以在大神的推薦下,本教程我們就不選用Cocos Code IDE作爲開發工具了,而是使用另一種高效的方法來完成該跑酷遊戲的開發——Sublime + QuickXDev。

當然如果你非要用Cocos Code IDE還是可以的,其安裝和使用說明可參考:Cocos Code IDE + Quick-Cocos2d-x 快速開發遊戲一文。

** 開發工具的安裝配置 **

Sublime Text 是一個具有漂亮的用戶界面和強大的功能的代碼編輯器,也是HTML和散文先進的文本編輯器,它的很多功能都依賴於其強大的插件系統。Sublime Text支持Lua語言,但它本身不具有像代碼提示這樣的功能,所以要想用Sublime Text快速的開發Quick-Coco2d-x程序,我們就必須安裝強大的QuickXDev插件。

Sublime Text的下載地址爲:http://www.sublimetext.com/,下載後直接安裝即可。

QuickXDev的下載地址爲:http://git.oschina.net/lonewolf/QuickXDev,將它下載解壓之後重命名爲QuickXDev,然後把該QuickXDev文件夾放入到Sublime Text的Packages目錄下(可通過Sublime Text->Preferences->Browse Packages打開)。

接着依次打開Preferences->Package Settings->QuickXDev->Settings–Default,如下圖所示:
openset
複製該處的內容到Preferences->Package Settings->QuickXDev->Settings–User(此時User是空白的)中,同時在 “quick_cocos2dx_root” 項的後面設置Quick-Coco2d-x的安裝路徑,如下圖所示:

set

設置完成後,User的內容將會覆蓋Default下的設置。
注意:以上路徑應爲你自己的安裝路徑,如果是Windows系統,則該處的路徑形如:

"quick_cocos2dx_root": "D:\\Quick\\quick-3.3"

新建項目

開發工具準備就緒以後,下面我們就可以開始創建我們的項目了.

首先啓動 Quick 下的 player3,在這兒的示例標籤下你可以看到很多Quick自帶的示例,對於初學者來說,看看這些示例的使用方法會對我們學習Quick有很大的幫助,它也是快速學習Quick極好的教材。其界面如下圖所示:
quick-example
接着我們來新建一個項目,點擊界面上的“新建項目”,player會自動切換到新建項目的界面。
create

設置好新建項目的存放路徑,包名,屏幕方向,以及是否複製C++源碼等選項後,我們就可以點擊右下角的 “Create Project” 按鈕創建項目了。這裏需要注意的是,如果你的項目不涉及到 C++ 部分,那麼可以取消“Copy Source Files”項的勾選,這樣可以加快項目的創建速度。

點擊 Create Project 按鈕後,你會發現右下角的 “Create Project” 按鈕變成了“Open..”,同時還會出現一個顯示創建項目結果的終端窗口。待終端窗口顯示創建完成時,我們就可以點擊“Open..”打開項目了。

一個默認創建好的項目其實就是個程序員最熟悉的“Hello World”程序,然後後面我們就可以以這個“Hello World”程序爲基礎來編寫自己的遊戲。

每個新建的Quick程序都帶了一個控制檯窗口,如下圖所示。這個控制檯窗口是player的輸出窗口,它包括了你打印的日誌以及崩潰日誌,當你的程序報錯時,它的輸出日誌將是很好的檢驗憑證。

helloworld

項目目錄分析

爲了更快更好的學習Quick程序開發,瞭解其項目結構是很有必要的,所以下面我們就來依次看看引擎和新建項目的目錄結構。

引擎目錄結構分析

打開 Quick 安裝目錄,其結構如下圖所示:
quick

  • build:該目錄是 Cocos2d-x 的項目存放目錄。
  • cocos: 改文件夾中包含了大部分引擎的庫文件,其中包括:2d、3d、聲音、基礎庫、數學庫、物理庫等等一系列相關的類文件。
  • docs:該文件夾下包含了引擎的API文檔、發佈文檔(最新版本更改介紹,運行環境要求,編譯環境要求及如何運行測試用例的相關命令)、Cocos編程規範等等文檔。我們可以通過它查看引擎的代碼API,以及最新版本更改介紹,quick運行環境要求,編譯環境要求及如何運行測試用例的相關命令。裏面的文件多是html和md格式的。
  • extensions: 其中主要是GUI擴展庫.
  • external中包含物理引擎第三方庫,Box2D和chipmunk;數據庫第三方庫,sqlite3;網絡第三方庫,webp,websockets;以及一些其他第三方庫,像編碼轉換庫、數據格式庫等等。
  • licenses裏面包含了引擎中用到的各種許可證文件。LICENSE_SpiderMonkey,spider引擎中用到的SpiderMonkey-JS運行環境,需要此許可證,該許可證適用於MPL/GPL/LGPL幾種許可證LICENSE_chipmunk,LICENSE_JS,LICENSE_lua等等。引擎在這些許可證下可以對相應的源代碼進行任意拷貝和修改。
  • quick:這個是Quick引擎代碼。其中包含了創建各個平臺新工程的批處理工具,Quick框架的核心目錄,2dx和一些其他依賴的c++文件,模版工程,Quick所帶的例子等等Quick的核心文件。
  • README.html/README.md:Quick的使用指南,關於Quick的安裝、使用、創建等等信息都可以出這裏獲取,它其實相當於docs內文件的目錄。
  • setup_mac.sh: 搭建Mac開發環境的腳本。
  • setup_win.bat: 搭建Windows開發環境的腳本。
  • tools:Quick用做luabinding的工具,可用來導出自定義的C++類。
  • version:版本標示。

新項目目錄結構分析

打開新建項目的目錄,我們來分析下新建項目的目錄結構,其結構如下圖所示:

file

  • config.json: 項目信息配置文件。
  • debug.log: 項目日誌,即打印控制檯窗口輸出的所有日誌文件。
  • frameworks: 存放Cocos2d-x引擎核心代碼及各個平臺運行時資源。
  • res:存放項目資源的文件夾,也就是說,我們遊戲開發中用到的所有圖片、字體、音頻等資源都放在這裏。
  • runtime:存放預編譯的運行時庫。
  • src:項目源碼所存放文件夾,即遊戲中的所有的 .lua 文件都放在這裏。

以上目錄中 res 和 src 文件夾是比較最要的,開發中我們也只需要對這兩個文件夾裏的內容進行操作,就可以實現遊戲的開發。

在新項目的src文件夾中,現在你是可以看到一些 .lua 文件的,這些就是我們工程的lua代碼。接下來我們簡單的介紹下src中各項的功能:

  • cocos: cocos引擎代碼
  • framework: quick的核心部分,在Cocos2d-x基礎上自己搭建的一套framework
  • config.lua: 工程配置文件,包括分辨率適配等信息
  • main.lua: 工程入口
  • app: 工程的界面等文件,存放我們的遊戲代碼
    • MyApp.lua: 遊戲的第一個界面
    • scenes: 存放遊戲各個場景代碼的文件夾
      • MainScene: 遊戲的第一個場景

在遊戲開發中,需要修改和添加界面時,我們只需要在相應的文件夾中添加場景就可以了。

好了,這章就算講完了,下一章我們將先講解新建項目各個lua文件的代碼結構和使用方法,並開始着手新遊戲的開發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章