专栏首页游戏杂谈cocos2d-x绑lua的开发环境

cocos2d-x绑lua的开发环境

2013年是手游开发井喷的一年,也是手游市场竞争最为激烈的一年,ios市场除了刷榜、刷榜,还是刷榜,而android有点像黑市的感觉,水太深(很多渠道商已经从上游控制了流量的入口)。而cocos2d-x作为国内手游2d游戏中最流行的引擎,也渐渐由c++开发转为lua,究其原因。最主要的是:通过lua写的游戏,可以实现动态更新(你知道苹果每次审核会让人疼蛋差不多一个礼拜或者更久);在很大程度上也避免了因c++空指针的问题引起的程序闪退、崩溃的问题。

说是lua开发,其实还是通过lua调用c++的方法,只是最上层的业务的通过lua编写的。而lua的ide却很难找,稍微好用一点的(比如luacoding)就要收费。这里用最低的成本来构建一个lua开发环境:Sublime Text 2.0.2 + Decoda

为什么要用二个编辑器?

Sublime Text用来编码,Decoda用来调试lua程序。

用Sublime要解决的二个问题:

1、自动提示、代码补全;

2、函数定义的跳转;

cocox2d-x的api或者你自定义的中间层api,可以通过插件cocos2d_lua_snippets导出一堆pkg文件,这样就可以实现代码自动提示了

跨文件的函数调用提示,可使用cocos2dx-lua-tools

然后再装个ctags基本上就很完美了

ctr + t, ctrl + r 重新生成ctags文件,然后 ctrl + t, ctrl + t跳转至函数定义处,ctrl + t, ctrl + b返回。ctrl + shift + 左健、ctrl + shift + 右键也可实现上述功能。

当然,如果还有其它需要Sublime Tmpl插件也很有用,我装了这个插件之后,改了一下,让它支持lua

我把上面三个插件都打包了(除了生成pkg文件的插件,这个插件你可以自己安装cocos2d-lua-api),点击这里进行下载>>

(可直接将压缩文件,解压至sublimetext安装目录下的 /Data/Packages/ 目录中)

最后来看一下Decoda如何来调试lua程序的

选择游戏的exe程序,然后打开lua源文件,设置断点就可以进行调试了…

本文参考:

cocos2dx-lua绑定之代码编辑器

如果你所在的团队有资源,可以考虑修改ZeroBrane这个IDE,将它打造成强大的lua ide

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Lua调用C++时打印堆栈信息

    公司的手游项目,使用的是基于cocos2d-x绑lua的解决方案(参数quick-x的绑定),虽然使用了lua进行开发,更新很爽了,但是崩溃依然较为严重,从后台...

    meteoric
  • Flash Builder无法正常启动应用程序的原因

    去掉编译器参数就可以了, 因为Flash Builer默认使用的是SDK 4.0,而目前开发中只需要使用3.5就可以了,加那个参数

    meteoric
  • cocos2d-x的CCSequence与CCRepeatForever的混用

    meteoric
  • golua虚拟机的使用

    之前一直想把openflow这样的分布式流程系统做起来,但是时间和应用场景的问题所以都是做了一个半拉子工程,而且之前想的也有点简单了,认为只要有同学愿意,在开发...

    黑光技术
  • lua 和 cpp 互调

    例子中涉及为 lua 编写 so,(lua require 加载) 需要修改 lua/src 下的makefile cppflag 加 -FPIC, 这样后...

    orientlu
  • Lua调用C++时打印堆栈信息

    公司的手游项目,使用的是基于cocos2d-x绑lua的解决方案(参数quick-x的绑定),虽然使用了lua进行开发,更新很爽了,但是崩溃依然较为严重,从后台...

    meteoric
  • android中使用luaj

    开发中有一些场景,需要使用到动态化能力,除了插件和热补丁。我们还可以使用脚本,相比插件化与热补丁,脚本更加灵活的安全(Google对插件化持禁止态度),在and...

    jiamiao
  • openresty搭建网站防火墙

    当我提交一个 select * from 疑似 sql注入的参数时,则会直接被拦截

    仙士可
  • Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis

    Lua模块开发 在实际的开发过程中,不可能把所有的lua代码写在一个lua文件中,通常的做法将特定功能的放在一个lua文件中,即用lua模块开发。在lualib...

    方志朋
  • Lua入门 - helloworld

    ./configure --prefix=/usr/local/readline/

    王亚昌

扫码关注云+社区

领取腾讯云代金券