Quick-Cocos2d-x文件結構分析

這章我們分析下quick中的文件結構吧!打開quick的文件夾,可以看到如下的這些目錄和文件:

bin:存放各種與引擎相關的腳本

  • compile_luabingding.shcompile_luabing.bat腳本是用來將cpp文件bind到lua上的腳本。
  • compile_scripts.shcompile_scripts.bat腳本是用來將lua腳本成二進制的,在我們發佈版本時,對包進行編譯轉成二進制防止反編譯。
  • create_project.shcreate_project.bat腳本用來創建quick的工程,在quick的player裏面我們可以用GUI完成這項工作。
  • make_framework_package.shmake_framework_package.bat腳本是用來生成quick的framework的zip包時使用的。
  • pack_files.batpack_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和ModelBase
    • net:網絡接口封裝,使用Socket連接
    • push:push SDK封裝,目前包含友盟push和cocopush兩個push的SDK
    • share:分享SDK封裝,目前包含友盟分享SDK
    • ui:quick封裝的Cocos2d-x控件,包含:UIGroup、UIImage,UIPushButton,UICheckBoxButton,UICheckBoxButtonGroup,UILabel,UISlider,UIBoxLayout
    • update:自動更新組件的封裝,使用的是友盟的更新SDK
    • utils:quick中其他的封裝的功能
  • cocos2dx:quick對Cocos2d-x中的擴展
  • platform:平臺移植代碼
  • audio.lua:音樂、音效管理
  • cocos2dx.lua:導入Cocos2d-x的庫
  • crypto.lua:加解密、數據編碼庫
  • debug.lua:提供調試接口
  • deprecated.lua:定義所有已經廢棄的 API
  • device.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:創建和管理用戶界面
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章