Cocos2dx Lua开发环境搭建
本文记录在 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)
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开发环境搭建相关推荐
- android lua 开发环境搭建,使用 lua 语言开发Android应用
做移动端开发,做蛋疼的就是不能动态发版,不能像 web 那样发版立即全部用户生效,然而 lua语言 为其提供了可能性.使用 lua 来构建跨平台原生应用有许多好处,比如 lua 语言简洁高效,可移植性 ...
- 【Lua】撸啊!第一弹:Lua开发环境搭建(Mac OS X)
Lua 官方网站:http://www.lua.org 维基百科:http://en.wikipedia.org/wiki/Lua_(programming_language) 1. 安装Rudix ...
- lua 开发环境搭建(windows 平台)
1 参考https://editor.csdn.net/md/?articleId=104457812 2 调试配置参考https://blog.csdn.net/qq_35331967/articl ...
- 第2课 - 搭建Lua开发环境
第2课 - 搭建Lua开发环境 1. Lua 的优点 (1)Lua 使用标准的 ANSI C 进行开发,可以无缝集成到宿主程序,且几乎支持所有平台. (2)Lua 是开源且免费的软件,以源码的方式直接 ...
- lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,
所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) ...
- Cocos2d-x.3.0开发环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...
- win安装 lua php 扩展,window平台搭建Lua开发环境
这几天正在学习lua这门脚本语言,首先要解决的是开发环境的问题,因此本文记录一下在window平台下如何搭建lua的开发环境. 这里将介绍两种方式: 1.已经集成好的Lua For Windows安装 ...
- 搭建Lua开发环境(Lua解释器+IDEA编译器)
搭建Lua开发环境(Lua解释器+IDEA编译器) Lua概述 Lua特性 应用场景 安装Lua Windos环境安装 Linux环境安装 配置Lua解释器+IDEA编译器进行开发 在IDEA安装Lu ...
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!
<使用Cocos2d-x 开发3D游戏>系列在线课程 第二节:Cocos引擎开发环境搭建与项目创建! 视频地址:http://edu.csdn.net/course/detail/1330 ...
最新文章
- 洛谷P2512 糖果传递
- rsviwe32 7.6 授权_「复杂系统迁移 .NET Core平台系列」之认证和授权
- 【JSP EL表达式】动态表达式/表达式拼接
- 并联匹配和串联匹配的原理和选择
- VMware 在ubuntu-18.04.2安装搜狗输入法
- vscode angular智能提示_【线下活动】手把手教你玩转 VS Code 插件开发
- MXNet——symbol
- 李嘉诚无锡演讲:骂到你成功
- linux 屏幕输出 高亮_通过printf设置Linux终端输出的颜色和显示方式
- k8s集群之master节点部署
- java21天打卡 day10-字符串2
- 谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。...
- Objective-C中ORM的运用:实体对象和字典的相互自动转换
- 盲打打字php,盲打键盘指法图顺口溜及练习方法
- 微信小程序——组件库
- html 换行特殊符号,html 换行符号
- 随机过程(基本概念、平稳随机过程)
- 假装写在了开头qwq
- Windows安装jupyter教程
- 前端作业7.18(仿苹果页面)
热门文章
- POJ2584_T-Shirt Gumbo(二分图多重最大匹配/最大流)
- vue开启/停止按钮切换
- Windows下 YOLOv5配置、部署、及遇到的问题
- 推荐:在线面试实时编程工具——ShowMeBug
- 如何正确的找到合适的固码呢
- Excel表格批量将文本转换为超链接 批量文本转链接 一键转URL
- excel文件使用宏,每隔m行插入n行空白行
- 62、视频监控画面花屏、卡顿、网络延迟如何解决?
- 30年「相爱相杀」 :30张照片回顾乔布斯和比尔盖茨之间「不得不说」的故事...
- hp服务器硬盘离线改在线,HP服务器硬盘不在线数据恢复案例分析