1.0 cocos luacompile 使用方法
我用的普通的cocos2d lua,没用quick,quick好像能够对整个资源包含图像和音频都加密,打包成zip。我看了下luacompile 的 help。比較简单啊。
先在项目根文件夹下建立了一个out的文件夹,然后就用这个命令试了下:
cocos luacompile -s src/ -d out/
比预想的顺利。在out文件夹下看到了非常多luac文件。正如命令里说的。支持子文件夹。网上说luac还是会被反编译。
就加上了key。
cocos luacompile -s src/ -d out/ -e -k testKey123456 -b testSign123456
他用的是XXTEA加密算法。能够看这篇文章《XXTEA 可逆加密解密算法 C++ C#兼容版本号》
还须要在AppDelegate.cpp文件的applicationDidFinishLaunching方法中增加setXXTEAKeyAndSign。这点它那个luacompile 的help就没提了。这是第一个坑。
LuaStack* stack = engine->getLuaStack(); stack->setXXTEAKeyAndSign("testKey123456", strlen("testKey123456"), "testSign123456", strlen("testSign123456")); if (engine->executeScriptFile("src/main.lua")) { return false;
2.不支持64bit
第二个坑立即来了:刚開始在IPhone4S模拟器执行好好的,IPhone5s就漆黑一片了。
原来这样把lua编译后,尽管速度变快了,但还未支持64位系统,据说cocos2d 年底会给出luajit 64位解决方式,由于苹果要求的啊。
然后由于这个问题我卡了一会儿。
网上搜了了也没什么结果。都推荐使用Quick。游戏都写完了。转Quick有点麻烦。
突然注意到luacompile help中最后一个选项:--disable-compile ,然后把命令改成以下这样的:
cocos luacompile -s src/ -d out/ -e -k testKey123456 -b testSign123456 --disable-compile
也是出来luac文件,但仅仅是简单用XXTEA加密。这样小游戏全然够用了。