1. 程式人生 > >Quick-Cocos2d-x入門系列(一)

Quick-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 安裝完成後,在它的根目錄下可以找到有兩個名為setup_mac.sh、setup_win.bat的批處理指令碼,它們分別是搭建Mac和Windows開發環境的指令碼,根據自己系統的需要執行相應的腳步,就可以自動為你完成 Quick 環境的配置。在此之後,我們就可以雙擊安裝目錄下的 player3 圖示(Windows 下桌面上會生成 player 的快捷鍵),啟動 Quick 自帶的模擬器了。在該模擬器介面中,我們可以建立、開啟、執行專案,同時還能檢視很多 Quick 自帶的示例專案。

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。

引擎目錄結構分析

開啟 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: 遊戲的第一個場景

轉載自http://shannn.com/archives/371