本文记录在 Windows 下搭建 cocos2dx lua 开发环境,还有调试设置。

系统:Windows 7 64

IDE:Mircrosoft Visual Studio 2013

Cocos2dx:cocos2d-x-3.13.1

VS插件:BabeLua3.2.2.0

准备工作


下载 cocos2dx 源码,并运行 setup.py 脚本,该脚本为 python 脚本,所以系统还要先安装 python,最好是 2.7 版本的。

  • 创建 cocos2dx lua 项目

到需要创建项目的目录下运行以下命令

1
cocos new testlua -p com.testlua -l lua
  • 下载安装 VS 插件 BabeLua

https://babelua.codeplex.com/releases 主站下载(国外站点,可下载最新源码)
http://pan.baidu.com/s/1sjmC169 国内镜像(速度较快)

这里使用的是 BabeLua3.2.2.0 版本,下载完成后双击运行 vs 进行安装。

  • 生成 simulator

打开项目目录下 frameworks\runtime-src\proj.win32\dblua.sln 文件。

点击运行按钮,或者按 F5 键开始编译并运行项目。

等待编译完成之后,项目下 \simulator\win32\ 目录中就会生成 textlua.exe ,这个就是运行 lua 脚本的主程序,也就是 simulator。

配置 Lua 项目


  • 创建 visual studio lua 项目

前面安装完 BabeLua 插件后,在 vs 的主菜单上会出现 Lua 菜单,点击菜单中的 New Lua Project,填写内容如下:

Lua script folder:lua 脚本目录
Lua exe path:lua 主程序目录,也就是之前的 simulator
Working path:lua 运行环境目录
Lua project name:在 VS 解决方案中显示的项目名称
Command line:执行命令,这个可以先不管

点击 OK 就会在解决方案中出现 src 项目,同时加载了 lua 文件夹中所有 lua 脚本。

接着将 src 项目设置为启动项目,在资源管理器右键 src项目 > 设置为启动项,这时按 F5 键应该就可以正常启动程序了。

如果启动后程序运行有异常,比如黑屏不显示图片什么的,不着急,继续往下看。

调试

这里需要注意的是 BabeLua 3.2.2.0 版本会有个路径 BUG ,在调试时使用的 Lua scripts folder 目录会使用配置好的上一级目录,在执行调试时,在终端输出中会显示一堆的 file not exist 信息,所以还要对配置进行调整。

错误如下:

relative: .\src/main.lua
findfile: \win32\src\main.lua
Load script(11): \win32\src\main.lua  relative: .\config.lua
findfile: .\config.lua
Load script(12): \config.lua  relative  (file not exist)  relative: .\cocos/init.lua
findfile: .\cocos/init.lua
Load script(13): \cocos\init.lua  relative  (file not exist)  
cocos2d-x 3.10版本, exe 是执行文件  src是脚本文件夹 res是资源文件夹
lua脚本在src里面,但是BabeLua设置的脚本路径没有生效,导致找不到脚本
后来在 AppDelegate.cpp里面把src加到搜索路径下,就可以调试得到了
LuaStack* stack = engine->getLuaStack();
stack->addSearchPath("src/");  

然后按 F5 键运行程序,这时终端输出里应该就不会出现 file not exist 提示了。

然后打个断点试试看吧。

不过这里还会有个坑,会发现打的断点可能会无效,所以还需要进一步修改。要指定下运行目录,这里就要用到cocos2dx 模拟器的 -workdir 参数。

右键 lua 项目 -> 属性,在 Command line 里面加入 -workdir,(-workdir之后一定加空格)如下

路径填项目的根目录,让程序取项目根目录下的资源,保存,然后按 F5 运行,这时再调试应该就一切正常了,每次修改完 lua 脚本,也不用执行编译,直接 F5 即可看到最新改动的运行情况。

编写代码时vs不会自动对 lua代码进行自动补全,所以要添加cocos2d自动补全词库

cocos2d-x词库下载:http://pan.baidu.com/s/1sjmC169

选择下载对应版本的cocos2d-x词库文件,放在【我的文档】【BabeLua】【Completion】目录下,重新启动VS即可。

快速搜索关键字

(1)在打开的Lua文件中按住Alt键,鼠标双击变量名即可快速搜索关键字。

(2)点击搜索结果可以跳转到相应的Lua文件行。

(3)在此处可以直接输入关键字名称进行搜索。

(4)点此按钮可以切换“Search Result”窗口中显示路径的方式:绝对或相对路径。

Lua调试

开始调试

如上图所示:

(1)双击打开hello.lua文件,系统会自动创建一个名称为temp_HelloLua的临时VS项目

(2)在hello.lua文件中设置好断点(设置断点快捷键F9)

(3)右键点击temp_HelloLua将其设置为启动项目

然后按F5启动HelloLua.exe进程开始调试

查看变量、堆栈信息、输出信息

命中断点后,可以查看变量及堆栈信息,如下图:

(1)堆栈信息

(2)监视变量

(3)鼠标移动到变量上即可查看变量值

(4)断点信息

(5)输出信息

按F10逐过程,F11逐语句进行跟踪调试。

关于VS2013+BabeLua环境的一些比较有用的快捷键

开发过程中如果不适用快捷键,只是单纯的靠鼠标,靠菜单,效果是非常低下的,为了提高开发速度,有必要了解一些常用的快捷键。(显而易见的省去不写了,如Ctrl+A、Ctrl+V等)
Ctrl+1:         打开BabeLua的文件管理器
Ctrl+2:         打开函数和成员变量的窗口
Ctr+p:          查找当前文件中的函数或成员变量
Alt+L:          查找lua文件
Ctrl+L:         删除当前行
Ctrl+Enter:     在当前行的上一行插入一行(写function时经常用到,敲完end后,Ctrl+Enter,然后加一个Tab)
Shift+Ctrl+Enter:   在当前行的下一行插入一行
Ctrl+C:         复制当前行(只要把光标停在这一行就行,不要选择,否则就只复制选择的内容了)
Ctrl+C, Ctrl+V:     在当前行的下一行复制本行(下下行会多出一个空行,可以接着敲一个Ctrl+L删除)
Ctrl+左右箭:       跳过单词(相当于vim中的b与e)
Ctrl+PageUp:        光标跳到当前屏幕的最上方(只是光标移动,代码不动)
Ctrl+PageDown:  光标跳到当前屏幕的最下方(只是光标移动,代码不动)
Shift+组合键:  选中区域(想脱离鼠标这个快捷键不错)
Shift+Alt+组合键:  选中区域,列选择
Ctrl+F:         查找并高亮(高亮还是蛮好的,可以查当前变量在当前函数的使用情况)
F3:             查找的内容的下一个出现的地方(尽量用这个代替Ctrl+F之后的Enter)
Shift+F3:           查找的内容的上一个出现的地方Ctrl+K,Ctrl+K:      在当前行打个书签(或取消书签)
F2:             跳到下一个标签
Shift+F2:           跳到上一个标签

这三个组合起来用功能还是很强大的 , 我经常在找bug或者在看其他人写代码的时候用,与断点调试配合使用效果很好

Ctrl+K,Ctrl+L:      取消所有书签(分析完了,可以取消所有书签,以免影响下面的分析)Ctrl+H,Ctrl+H:      在当前行标记任务或取消当前行的任务(我们在工作中经常容易被打断,此时不妨在当前行做个标记,等解决完其他问题后再从任务列表中回来继续做未完成的事;另外,在写一个新的模块式,我们先搭框架,然后可以在每个尚未写的函数处写一行TODO注释,然后用Ctrl+H,Ctrl+H记到任务列表中,任务完成再删去该任务)
Ctrl+K,Ctrl+F:      自动调整代码缩进(该快捷键其实还有个附加功能,即查语法错误,选中代码的一块区域,如果理论上可缩进,而实际上却没有缩进,这段代码中肯定有语法错误,如果已知某个文件中有语法错误,则可以利用此快捷键二分查找)
Ps:可以打开VS2013的滚动条看代码缩略图,如果上面有红点点,不是打断点就是有语法错误。既然这里谈到调试,再说一个小技巧:将--[["--[[]]加到lua代码中,如果能消除语法错误,则可以知道在此之前某个地方的引号或多行注释没有结束。

tips

如果发现启动调试比较慢,可以尝试安装秒起补丁

http://forum.cocos.com/t/babelua-1-06-quick-vs2013-vs2015-5-21/36553

扩展阅读

BabeLua官方博客 http://blog.csdn.net/babestudio/article/details/27222141

BabeLua项目地址 https://babelua.codeplex.com/

转载地址: http://blog.tshine.me/cocos2dx-lua%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.html(结合自己实践,有部分修改)

Cocos2dx Lua开发环境搭建相关推荐

  1. android lua 开发环境搭建,使用 lua 语言开发Android应用

    做移动端开发,做蛋疼的就是不能动态发版,不能像 web 那样发版立即全部用户生效,然而 lua语言 为其提供了可能性.使用 lua 来构建跨平台原生应用有许多好处,比如 lua 语言简洁高效,可移植性 ...

  2. 【Lua】撸啊!第一弹:Lua开发环境搭建(Mac OS X)

    Lua 官方网站:http://www.lua.org 维基百科:http://en.wikipedia.org/wiki/Lua_(programming_language) 1. 安装Rudix ...

  3. lua 开发环境搭建(windows 平台)

    1 参考https://editor.csdn.net/md/?articleId=104457812 2 调试配置参考https://blog.csdn.net/qq_35331967/articl ...

  4. 第2课 - 搭建Lua开发环境

    第2课 - 搭建Lua开发环境 1. Lua 的优点 (1)Lua 使用标准的 ANSI C 进行开发,可以无缝集成到宿主程序,且几乎支持所有平台. (2)Lua 是开源且免费的软件,以源码的方式直接 ...

  5. lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,

    所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) ...

  6. Cocos2d-x.3.0开发环境搭建

    配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...

  7. win安装 lua php 扩展,window平台搭建Lua开发环境

    这几天正在学习lua这门脚本语言,首先要解决的是开发环境的问题,因此本文记录一下在window平台下如何搭建lua的开发环境. 这里将介绍两种方式: 1.已经集成好的Lua For Windows安装 ...

  8. 搭建Lua开发环境(Lua解释器+IDEA编译器)

    搭建Lua开发环境(Lua解释器+IDEA编译器) Lua概述 Lua特性 应用场景 安装Lua Windos环境安装 Linux环境安装 配置Lua解释器+IDEA编译器进行开发 在IDEA安装Lu ...

  9. 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!

    <使用Cocos2d-x 开发3D游戏>系列在线课程 第二节:Cocos引擎开发环境搭建与项目创建! 视频地址:http://edu.csdn.net/course/detail/1330 ...

最新文章

  1. 洛谷P2512 糖果传递
  2. rsviwe32 7.6 授权_「复杂系统迁移 .NET Core平台系列」之认证和授权
  3. 【JSP EL表达式】动态表达式/表达式拼接
  4. 并联匹配和串联匹配的原理和选择
  5. VMware 在ubuntu-18.04.2安装搜狗输入法
  6. vscode angular智能提示_【线下活动】手把手教你玩转 VS Code 插件开发
  7. MXNet——symbol
  8. 李嘉诚无锡演讲:骂到你成功
  9. linux 屏幕输出 高亮_通过printf设置Linux终端输出的颜色和显示方式
  10. k8s集群之master节点部署
  11. java21天打卡 day10-字符串2
  12. 谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。...
  13. Objective-C中ORM的运用:实体对象和字典的相互自动转换
  14. 盲打打字php,盲打键盘指法图顺口溜及练习方法
  15. 微信小程序——组件库
  16. html 换行特殊符号,html 换行符号
  17. 随机过程(基本概念、平稳随机过程)
  18. 假装写在了开头qwq
  19. Windows安装jupyter教程
  20. 前端作业7.18(仿苹果页面)

热门文章

  1. POJ2584_T-Shirt Gumbo(二分图多重最大匹配/最大流)
  2. vue开启/停止按钮切换
  3. Windows下 YOLOv5配置、部署、及遇到的问题
  4. 推荐:在线面试实时编程工具——ShowMeBug
  5. 如何正确的找到合适的固码呢
  6. Excel表格批量将文本转换为超链接 批量文本转链接 一键转URL
  7. excel文件使用宏,每隔m行插入n行空白行
  8. 62、视频监控画面花屏、卡顿、网络延迟如何解决?
  9. 30年「相爱相杀」 :30张照片回顾乔布斯和比尔盖茨之间「不得不说」的故事...
  10. hp服务器硬盘离线改在线,HP服务器硬盘不在线数据恢复案例分析