在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 使用 cocos2d-console 工具轉(zhuǎn)換腳本為字節(jié)碼
cocos2d-x for js 中的繼承
JS 與 C++ 的交互 1——JS 代碼調(diào)用 C++ 代碼
迎接腳本時代的到來
解決在 vs 中修改 js 源文件無效
JS 腳本語言的優(yōu)勢與一些問題
注冊函數(shù)
回調(diào)函數(shù) 2
cxx-generator JS 綁定工具
使用 cocos2d-console 工具轉(zhuǎn)換腳本為字節(jié)碼
hybrid 開發(fā)模式
JS 與 C++ 的交互 2——JS 與 C++ 的“函數(shù)重載”問題
回調(diào)函數(shù)1——按鍵回調(diào)
Google 的繼承寫法解析
John Resiq 的繼承寫法解析
JS 與 C++ 的交互 3——C++ 和 JS 類型轉(zhuǎn)換
傀儡構(gòu)造函數(shù)

使用 cocos2d-console 工具轉(zhuǎn)換腳本為字節(jié)碼

從 Cocos2D-X v2.1.4 版本開始,增加了 Cocos2D-console 命令行工具,該工具的其中一個功能是:把 .js 文件轉(zhuǎn)換為 .jsc 文件,該文件是字節(jié)碼格式,可以提高代碼的安全性。

使用這個工具的方式很簡單。以引擎自帶的 TestJavaScript 項目為例: 首先我們 cd 到 Cocos2D-console 的目錄

goldliontekiMacBook-Pro:~ goldlion$ cd /Users/goldlion/Documents/developer/cocos2d-x-3.0beta/tools/cocos2d-console/console

然后可以看到里面有很多 .py 腳本
cocos2d_jscompile.py
cocos2d_version.py
cocos2d.py
cocos2d_new.py

其中 cocos2d.py 是我們要使用的主腳本文件。使用命令 ./cocos2d.py jscompile --help 查看編譯字節(jié)碼的命令格式

goldliontekiMacBook-Pro:console goldlion$ ./cocos2d.py jscompile --help
Usage: cocos2d.py jscompile -s src_dir -d dst_dir [-c -o COMPRESSED_FILENAME -j COMPILER_CONFIG]
Options:
  -h, --help            show this help message and exit
  -s SRC_DIR_ARR, --src=SRC_DIR_ARR
                        source directory of js files needed to be compiled,
                        supports mutiple source directory
  -d DST_DIR, --dst=DST_DIR
                        destination directory of js bytecode files to be
                        stored
  -c, --use_closure_compiler
                        Whether to use closure compiler to compress all js
                        files into just a big file
  -o COMPRESSED_FILENAME, --output_compressed_filename=COMPRESSED_FILENAME
                        Only available when '-c' option was True
  -j COMPILER_CONFIG, --compiler_config=COMPILER_CONFIG
                        The configuration for closure compiler by using JSON,
                        please refer to compiler_config_sample.json

參數(shù)非常簡單,一個輸入目錄,一個輸出目錄,后面加一組可選參數(shù)。該工具在遍歷 .js 文件時支持文件夾遞歸訪問,在輸出 .jsc 文件時支持按照源文件夾的結(jié)構(gòu)全部新建文件夾。易用性還是不錯的。

對 TestJavaScript 其中一個文件夾 ExtensionsTest 使用 Cocos2D-console 工具進行加密來測試。輸出路徑設(shè)置為桌面

./cocos2d.py jscompile -s /Users/goldlion/Documents/developer/cocos2d-x-3.0beta/samples/Javascript/Shared/tests/ExtensionsTest -d /Users/goldlion/Desktop/ExtensionsTest

打開輸出的 ExtensionsTest 文件夾看到,所有 .js 都變成了 .jsc,并且體積都大幅度減小。

下面說一下可選參數(shù),可選參數(shù)的意思是使用 closure compiler 工具壓縮代碼為一個文件。
COMPRESSED_FILENAME 是壓縮后的文件名,最好使用 xxx.js,因為工具會自動再后面加個 c
COMPILER_CONFIG 是壓縮時調(diào)用的配置文件,需要根據(jù)項目需求自己填寫,在 bin 目錄下有一個做好的缺省例子可以使用,compiler_config_sample.json

我并不建議使用這種做法,因為:

  1. 如果將所有腳本都壓縮為一個文件,那么每次更新都要重新下載這個文件,對于一些對省流量要求很高的公司不適合。
  2. 壓縮的目的是隱藏文件目錄結(jié)構(gòu),但是這個工具只壓縮了腳本部分,對于圖片,動畫,數(shù)據(jù),音頻視頻等等都是不考慮的。而一般開發(fā)的方式需要把所有資源都壓縮成一個文件,然后在游戲在線更新時只下載更新檔,通過程序?qū)⒏聶n中的文件打入到大文件中。注意這涉及到二進制級別的比較刪除以及合并,需要做非常仔細的設(shè)計,