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

cocos2d-x绑lua的开发环境的更多相关文章

  1. 安装Nginx+Lua+OpenResty开发环境配置全过程实例

    安装Nginx+Lua+OpenResty开发环境配置全过程实例 OpenResty由Nginx核心加很多第三方模块组成,默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用. ...

  2. 如何在Windows平台使用VS搭建C++/Lua的开发环境

    转自:http://ju.outofmemory.cn/entry/95358 本文主要介绍如何在Windows平台利用VS搭建C++/Lua开发环境.这里的“C++/Lua开发环境”主要指的是C++ ...

  3. 安装OpenResty开发环境

    OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 Web ...

  4. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

  5. Lua开发环境配置

    Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁.轻量.可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思. Lua is a powerful, fast, lightweight, ...

  6. Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟

    接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...

  7. Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建

    Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...

  8. [转载]使用VS2015搭建Lua开发环境

    参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...

  9. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

随机推荐

  1. 002_JavaSE笔记:单例模式

    一.应用杨景 在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器的功能.每台计算机可以有若干个打印机,但只能有一个Printer ...

  2. 【AtCoder】AGC024

    A - Fairness 如果奇数次是b - a 否则是a - b #include <bits/stdc++.h> #define fi first #define se second ...

  3. 转:Spring中事物管理

    1.什么是事务? 事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败 2.事物具有四大特性ACID 说到事务,就不得不说其4大特性,主要如下 原子性:(atomicity) 原子性指的是事务是 ...

  4. ctrl+c ctrl+d ctrl+z 的区别和使用场景

    三者的区别 Ctrl+C :强制中断程序,程序无论运行哪里都停止. Ctrl+D :发送一个 exit 的信号,退出当前的用户或者是客户端. Ctrl+Z :暂停程序,在进程中维持挂起状态. 引用别人 ...

  5. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法

    Ubuntu 16.04设置rc.local开机启动命令/脚本的方法       Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启 ...

  6. 社会地位即服务, Status as a Service (一): 社交网络是一种 ICO 行为?

    上周,看到 Eugene Wei 又发了一篇长文,Status as a Service (StaaS).状态即服务?服务器的状态吗?不知所言.抱着好奇,我打开了这篇文章,一看就是 3 个小时!

  7. 3,EasyNetQ-发布/订阅

    一.发布 在发布/订阅模式中的角色是彼此陌生的. 一个发布者只是向世界说这个已经发生了,一位订阅者告诉世界“我在乎这个”. 在这个模型中,没有人关心特定的事件是很好的. 消息可能有一个订阅者,可能有2 ...

  8. Android中线程通信的方式

    Android 跨线程通信 android 中是不允许在主线程中进行 网络访问等事情的因为UI如果停止响应5秒左右的话整个应用就会崩溃,到Android4.0 以后 Google强制规定,与网络相关的 ...

  9. Oracle数据库11gR2的卸载 - deinstall

    从Oracle 11gR2开始,Oracle推荐使用deinstall来卸载Oracle数据库.使用Oracle Universal Install(OUI) 的图形方式来卸载Oracle数据库软件了 ...

  10. nginx命令大全

    sudo nginx #打开 nginx nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx nginx -t #测试配置是否有语法错误 n ...