自編譯Cocos Framework&Simulator使用說明

簡介

本文檔介紹如何定制Cocos Framework&Simulator,並在遊戲工程中使用定制後的Cocos Framework&Simulator。

定制Cocos Framework是指安裝Cocos Framework之後,對其中的引擎源碼進行修改與定制,然後使用的過程。

版本要求

定制Cocos Framework為v3.7版本新增的功能,3.7以下的版本並不支持。此文檔適用於 v3.8 以及以後版本。

以下的內容中提到的路徑以v3.8版本為例,具體路徑以實際安裝的Cocos Framework版本為准。

如何定制Cocos Framework

定制Cocos Framework實際上就是修改安裝的源碼。在Cocos Framework安裝完成後,可以使用XCode 6.0機器以上的版本 和 Visual Studio 2013版本進行修改和調試:

  • Mac系統可以使用XCode打開工程檔/Applications/Cocos/frameworks/cocos2d-x-v3.8/build/CocosFramework.xcodeproj,然後修改與調試代碼即可定制引擎。
  • Windows系統可以使用Visual Studio打開工程檔[安裝目錄]/frameworks/Cocos2d-x-v3.8/build/CocosFramework.sln,然後修改與調試代碼即可定制引擎。

如何生成定制後的Cocos Framework

重新生成預編譯庫

Cocos Framework中附帶了將源碼編譯生成預編譯庫的腳本工具:cocos gen-libs

此腳本工具的使用說明如下:

usage: cocos gen-libs [-h] [-c] [-e ENGINE_PATH] [-p {ios,mac,android,win32}]
                      [-m {debug,release}] [--dis-strip] [--vs VS_VERSION]
                      [--app-abi APP_ABI]

生成新的 Cocos Framework 預編譯庫。

生成引擎的預編譯庫。生成的庫檔會保存在引擎根目錄的
'prebuilt' 檔夾。

通用參數:
  -h, --help            顯示幫助資訊
  -c                    生成預編譯庫之前先刪除 'prebuilt' 檔夾。
  -p {ios,mac,android,win32}
                        指定需要編譯的目標平臺。可以通過多個 '-p' 參數指定編譯多個目標平臺。
                        默認編譯所有可用的目標平臺。
  -m {debug,release}, --mode {debug,release}
                        指定使用 debug 或者 release 模式來生成預編譯庫。默認值為 release。
  --dis-strip           關閉生成預編譯庫的 strip 功能。

Windows 相關參數:
  --vs VS_VERSION       指定使用的 Visual Studio 版本,例如 2013。
                        默認自動查找可用的版本。

Android 相關參數:
  --app-abi APP_ABI     設置 ndk-build 的 APP_ABI 屬性。可以使用 ':' 分隔多個值。
                        示例:--app-aib armeabi:x86:mips。默認值為 'armeabi'。

使用示例:

  1. cocos gen-libs -c 清除之前的預編譯庫並編譯所有可用的目標平臺。
  2. cocos gen-libs -p win32 --vs 2015 使用 VS2015 編譯 Win32 平臺。

編譯完成後,預編譯庫生成在 frameworks/cocos2d-x-v3.8/prebuilt 檔夾下。遊戲工程可以直接鏈接到新生成的預編譯庫。

備註:

  • 對 Cocos Framework 源碼的定制包括源碼修改以及相應的工程檔維護。如果定制後的代碼或者工程配置有問題可能導致編譯工具執行失敗。
  • 當使用 -m debug 參數生成 debug 版本預編譯庫時,遊戲專案中的 Visual Studio 工程需要進行相應的修改才能正常編譯運行。修改內容如下:
    將 C/C++ -> Code Generation -> Runtime Library 由 /MD 修改為 /MDd。如圖:
    VS config

重新生成模擬器

Cocos Framework 中附帶了將源碼編譯生成預編譯庫的腳本工具:cocos gen-simulator

此腳本工具的使用說明如下:

usage: cocos gen-simulator [-h] [-c] [-e ENGINE_PATH] [-m {debug,release}]
                           [-o OUT_DIR] [-p {ios,mac,android,win32}]
                           [--vs VS_VERSION]

生成 Cocos 模擬器。

可用參數:
  -h, --help            顯示幫助資訊。
  -c, --clean           生成之前清除輸出目錄。會完全刪除輸出目錄。
  -e ENGINE_PATH        指定引擎檔夾。默認值為當前工具所在的引擎根目錄。
  -m {debug,release}, --mode {debug,release}
                        指定使用 debug 或者 release 模式來生成模擬器。默認值為 debug。
  -o OUT_DIR, --output OUT_DIR
                        指定模擬器的輸出目錄。默認值為引擎根目錄下的 'simulator' 檔夾。
  -p {ios,mac,android,win32}
                        指定需要編譯的目標平臺。可以通過多個 '-p' 參數指定編譯多個目標平臺。
                        默認編譯所有可用的目標平臺。
  --vs VS_VERSION       指定使用的 Visual Studio 版本,例如 2013。
                        默認自動查找可用的版本。

使用示例:

  1. cocos gen-simulator -c 清除之前的模擬器並生成所有可用目標平臺的模擬器。
  2. cocos gen-simulator -p win32 --vs 2015 使用 VS2015 編譯 Win32 平臺模擬器。

集成自定義模擬器:

把編譯出來的模擬器程式檔拷貝覆蓋掉”安裝目錄/Cocos/cocos-simulator-bin“下麵的檔,這樣就可以替換掉Cocos內置的模擬器,使用自定義的模擬器了。

備註:

* 模擬器主要用於Cocos資源編輯器中的預覽功能。如果要在資源編輯器中使用新生成的模擬器,需要使用新生成的模擬器替換掉資源編輯器中的模擬器。

扫描二维码或在微信中搜索 KeepMovingXin
欢迎关注微信公众号!