您的位置:首页 > 移动开发 > Cocos引擎

【cocos2dx 3.3 lua】01 新建工程与lua加密

2016-05-18 21:02 405 查看

创建

新建工程使用tools\cocos2d-console\bin下的cocos命令做,打开cmd,进入到tools\cocos2d-console\bin文件夹下,输入:

cocos new -help


可以查看帮助。

创建工程的一个示例:

cocos new Test -p com.test.test -l lua -d E:\Proj -t E:\cocos2d-x-3.3\templates\lua-template-runtime
以上命令在E:\Proj下创建一个Test工程,包名为com.test.test,使用runtime模板。

注意:

创建时,最好使用runtime模板,否则会只有lua文件,调试各种也很不方便。

使用runtime会有win32等各种工程,方便调试。

运行测试

打开工程目录下的frameworks\runtime-src\proj.win32下的win32工程,编译,运行即可。

去掉开始的connect

启动时,会有一个等待连接的界面,每次都要等一段时间,有点烦人。

去掉这个界面的修改如下:

找到C++代码,AppDelegate.cpp下的AppDelegate::applicationDidFinishLaunching,启动时使用

engine->executeScriptFile(ConfigParser::getInstance()->getEntryFile().c_str());


来替代

startRuntime();
即可。

lua文件加密

lua文件使用XXTEA加密,有相关工具,加密方法如下:

依然是使用cocos命令

cocos luacompile -s src_dir -d dst_dir -e True -k  testkey -b testsign
注意:

加密时需要指定-e True,否则后面的key和sign无效。

具体可参考:http://cocos2d-x.org/wiki/Cocos_luacompile

加密后,c++代码里启动之前也需要修改相应的key和sign。

string key = "testkey";//"2dxLua";
string sign = "testsign";//"XXTEA";
LuaStack* stack = engine->getLuaStack();
stack->setXXTEAKeyAndSign(key.c_str(), strlen(key.c_str()), sign.c_str(), strlen(sign.c_str()));


附上2个bat工具,方便创建和加密

创建工具:

:project_input
@echo 请输入项目名称,按回车,例:HelloWorld
@set /p project_name=
@if "%project_name%"=="" echo.项目名称不能为空!!&goto :project_input

:package_input
@echo 请输入包名,按回车,例:com.sample.test
@set /p package_name=
@if "%package_name%"=="" echo.包名不能为空!!&goto :package_input

:lan_input
@echo 请输入语言类型(cpp lua js),按回车,例:lua
@set /p lan_name=
@if "%lan_name%"=="" echo.语言类型不能为空!!&goto :lan_input

:temp_input
@echo 请输入模板文件夹,按回车,例:lua-template-runtime
@set /p temp_name=
@if "%temp_name%"=="" echo.模板文件夹不能为空!!&goto :temp_input

:dir_input
@echo 请输入工程文件夹,按回车,例:cocos
@set /p dir_name=
@if "%dir_name%"=="" echo.工程文件夹不能为空!!&goto :dir_input

@echo 开始创建工程:%project_name%,包名:%package_name%,语言类型:%lan_name%,工程文件夹:%dir_name%
@cocos new %project_name% -p %package_name% -l %lan_name% -d %dir_name% -t %temp_name%
@if not exist "%dir_name%" echo.创建失败!!&goto :end

@start ""  "%dir_name%"
@echo 创建完成!
:end
pause


加密工具:

:src_input
@echo 请输入lua文件所在文件夹,按回车,例:src
@set /p src_name=
@if "%src_name%"=="" echo.lua文件所在文件夹不能为空!!&goto :src_input
@if not exist "%src_name%" echo.lua文件所在文件夹不存在!!&goto :src_input

:dst_input
@echo 请输入编译后的文件夹,按回车,例:dst
@set /p dst_name=
@if "%dst_name%"=="" echo.编译后的文件夹不能为空!!&goto :dst_input
@if not exist "%dst_name%" echo.编译后的文件夹不存在!!&goto :dst_input

:key_input
@echo 请输入加密key,按回车,例:2dxLua
@set /p key_name=
@if "%key_name%"=="" echo.加密key不能为空!!&goto :key_input

:sign_input
@echo 请输入加密签名,按回车,例:XXTEA
@set /p sign_name=
@if "%sign_name%"=="" echo.加密签名不能为空!!&goto :sign_input

@echo 开始编译并加密工程:%src_name%
@cocos luacompile -s %src_name% -d %dst_name% -e True -k %key_name% -b %sign_name%
@if not exist "%dst_name%" echo.创建失败!!&goto :end

@start ""  "%dst_name%"
@echo 创建完成!
:end
pause
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: