這章我們分析下quick中的文件結構吧!打開quick的文件夾,可以看到如下的這些目錄和文件:
bin
:存放各種與引擎相關的腳本
compile_luabingding.sh
和compile_luabing.bat
腳本是用來將cpp文件bind到lua上的腳本。compile_scripts.sh
和compile_scripts.bat
腳本是用來將lua腳本成二進制的,在我們發佈版本時,對包進行編譯轉成二進制防止反編譯。create_project.sh
和create_project.bat
腳本用來創建quick的工程,在quick的player裏面我們可以用GUI完成這項工作。make_framework_package.sh
和make_framework_package.bat
腳本是用來生成quick的framework的zip包時使用的。pack_files.bat
和pack_files.sh
腳本用來將自己的lua文件打成zip包。lib
目錄:上述腳本調用的php腳本。quick的底層腳本使用的是php語言,所以大家在使用命令的時候最好還是把php裝上。quick在win32環境下自帶了php.exe,在mac下需要安裝php。mac
目錄:tolua++工具win32
目錄:php和luajit等win32上的工具
docs
:存放quick的文檔
api
:以html格式存放的api文檔logo
:quick的logo存放目錄apidoc_config.json
:文檔生成的json配置文件
framework
:quick的核心部分,在Cocos2d-x基礎上自己搭建的一套framework。
-
api
:quick封裝的庫目錄,現在基本里面的接口都改到cc目錄下。Context.lua
: 存取索引數據,目前已經棄用。EventProtocol.lua
: 事件偵聽協議,目前已經棄用。推薦使用cc.components.behavior.EventProtocol
。GameNetwork.lua
:第三方遊戲平臺SDK集成,如:OpenFeint,GameCenter等。現在已經棄用,推薦使用cc.sdk.social
。GameState.lua
:存取遊戲數據。現在已經棄用,推薦使用cc.utils.State
。Localize.lua
:遊戲本地化,主要是文字的本地華。現在已經棄用,推薦使用cc.utils.Localize
。Store.lua
:提供了遊戲內的計費功能。現在已經棄用,推薦使用cc.sdk.pay
。Timer.lua
:這個是基於 2D-X 中 scheduler 計時器的一個擴展,他可以方便的管理各個計時器,並添加了一些方便的功能,例如:100秒的時間,每5秒調用觸發一次計時器事件。推薦使用cc.utils.Timer
。
-
cc
:cc擴展在Cocos2d-x C++ API和quick基本模塊的基礎上,提供了符合腳本風格的事件接口、組件架構等擴展。init.lua
:初始化cc擴展GameObject.lua
:quick現在使用的一套類似Unity3D的GameObject的框架Registry.lua
:quick中GameObject的註冊器EventProxy.lua
:quick的事件管理器ad
:廣告平臺sdk的封裝,目前只有pushbox的接口analytics
:遊戲統計分析平臺的封裝,目前只有友盟的接口Component
:組件基類,所有組件都要派生自它feedback
:反饋SDK的封裝,目前只有友盟反饋sdk的接口mvc
:quick中的mvc結構,要使用mvc結構的話只需要集成AppBase和ModelBasenet
:網絡接口封裝,使用Socket連接push
:push SDK封裝,目前包含友盟push和cocopush兩個push的SDKshare
:分享SDK封裝,目前包含友盟分享SDKui
:quick封裝的Cocos2d-x控件,包含:UIGroup、UIImage,UIPushButton,UICheckBoxButton,UICheckBoxButtonGroup,UILabel,UISlider,UIBoxLayoutupdate
:自動更新組件的封裝,使用的是友盟的更新SDKutils
:quick中其他的封裝的功能
cocos2dx
:quick對Cocos2d-x中的擴展platform
:平臺移植代碼audio.lua
:音樂、音效管理cocos2dx.lua
:導入Cocos2d-x的庫crypto.lua
:加解密、數據編碼庫debug.lua
:提供調試接口deprecated.lua
:定義所有已經廢棄的 APIdevice.lua
:提供設備相關屬性的查詢,以及設備功能的訪問display.lua
:與顯示圖像、場景有關的功能filter.lua
:濾鏡功能functions.lua
:提供一組常用函數,以及對 Lua 標準庫的擴展init.lua
:quick framework的初始化json.lua
:json的編碼與解碼luaj.lua
:Lua與Java之間的交互接口luaoc.lua
:Lua與Objective-c之間的交互接口network.lua
:網絡接口封裝,檢查wifi和3G網絡情況等schduler.lua
:全局計時器、計劃任務,該模塊在框架初始化時不會自動載入shortcode.lua
:一些經常使用的短小的代碼,比如設置旋轉角度之類transition.lua
:爲動作和對象添加效果ui.lua
:創建和管理用戶界面