Cocos2d-x开发系列 交叉开发模式一 脚本支持

Cocos2d-x系列会有很多的语言选择。C++、Lua、JavaScript。通常我们选择使用C++开发,而忽视脚本语言的优势。然而这并不是一项多么新颖的技术,端游时代就开始使用。一些精品游戏例如刀塔卡牌之类的,就是实用Lua脚本开发的。而且现在触控新推出的Creator就是直接使用JS开发,说明选择脚本开发,绝对不会有错。
那最近公司的两款游戏比较,类RPG场景棋牌游戏,使用的C++开发,前前后后开发了10个月。真是苦逼到爆。这就是决策层不懂技术,偏要自己拿捏技术的下场。另外一款是公司的主打斗地主产品,随着业务的庞大,需求变更也更快了,所以想变成脚本实现热更。经过不断的技术报告,调研报告,好说歹说,boss终于同意使用Lua脚本,但是要阶段性的变更,通俗点就是先有核心业务使用C++开发,但是新开周边业务需求使用脚本。
没办法,只能照办。这个时候只能是hack工程了,我们选择使用hybrid交叉开发模式来。可能会有大牛会喷我了,hybrid模式不是H5加native吗?那么我只能是说,不同的解决方案,有不同的理念,不要在意这些细节。我们主体用C++开发,脚本层负责一些逻辑开发。

一、添加Lua支持,hack C++工程
1、cocos目录下添加scripting。
2、tools下添加tolua工具文件夹和bindings-generator文件夹,提供脚本绑定工具支持。
3、添加依赖项目libluacocos2d。在通用属性里添加libluacocos2d引用(应该先编译依赖库)
添加lua51.lib依赖
4、设置以下附加包含目录
(EngineRoot)cocos\scripting\luabindings\auto (EngineRoot)cocos\scripting\lua-bindings\manual
(EngineRoot)external\lua\lua (EngineRoot)external\lua\tolua
5、设置附加包含目录
libcurl_imp.lib
lua51.lib
websockets.lib
6、编译项目,不出错
7、配置ini文件
在tolua中genbindings.py修改配置文件
修改output_dir为工程class目录

生成Lua绑定文件

可能碰到的问题:
加入LuaLib项目后,编译失败。找不到外部符号,是因为没有添加依赖库

二、android项目添加
1、同步工程文件。要注意obj下面的库文件。
2、修改JNI下面的mk文件。引入lua相关模块配置。
3、编译过程中会出现一些文件的缺失,可以参照Lua版本,移植过来。例如config.json文件
4、修改build-cfg.json。
5、在具体项目的时候,为了减少包体大小,看哪些库需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值