加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:03:32 所属栏目:百科 来源:网络整理
导读:创建 新建工程使用toolscocos2d-consolebin下的cocos命令做,打开cmd,进入到toolscocos2d-consolebin文件夹下,输入: cocos new -help 可以查看帮助。 创建工程的一个示例: cocos new Test -p com.test.test -l lua -d E:Proj -t E:cocos2d-x-3.3t

创建

新建工程使用toolscocos2d-consolebin下的cocos命令做,打开cmd,进入到toolscocos2d-consolebin文件夹下,输入:

cocos new -help

可以查看帮助。

创建工程的一个示例:

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

注意:

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

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


运行测试

打开工程目录下的frameworksruntime-srcproj.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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读