使用BabeLua在cocos2d-x中编辑和调试Lua
使用BabeLua在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查。自己主动补全。高速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值。查看堆栈信息等功能。
怎样安装BabeLua
设置Cocos2d-x项目
在VS菜单上选择:【lua】【Settings】打开设置界面,例如以下图(左上角选中【Lua Folder】)
如上图分别设置:
(1)Lua scripts folder
Lua文件文件夹,该文件夹下的全部Lua文件将在“Folder Explorer”中列出。
(2)Lua exe path
调试时启动的exe文件路径。
(3)Working path
启动“Lua exe”时。此參数作为启动进程的working directory參数。
(4)Setting name
本套參数名称。
上图的“New folder Setting”支持设置多套參数,您能够在多套參数之间切换。
设置完毕后点【Save】button保存,再点【Select】button载入当前选择的參数,“Folder Explorer”界面将列出“Lua scripts folder”所设置文件夹下的全部Lua文件。
假设你仅仅须要调试Lua文件,你能够使用“Lua for windows”来运行Lua代码。
请參考《BabeLua系列4—BabeLua常见问题》——如何使用“Lua for Windows”运行Lua代码?
Lua编辑
Folder Explorer界面使用方法
上图中,点击右键能够新建目录。新建/删除Lua文件。文件重命名等。
查找Lua文件
使用快捷键Alt + L启动查找Lua文件窗体,输入部分Lua文件名就可以高速查找文件。
Lua语法高亮、语法检查、自己主动补全
Lua语法高亮、语法检查、自己主动补全效果例如以下图:
智能补全和全词补全
自己主动补全列表的2个Tab页IntelliSense和All Words分别为智能补全和全词补全。
智能补全:列出了经过语法分析后的单词(精准)
全词补全:列出了全部出现过的单词(完整)
默认打开的是智能补全,使用快捷键Ctrl+J能够在智能补全和全词补全之间进行切换。
智能补全:
全词补全:
加入cocos2d自己主动补全词库
cocos2d-x词库下载:
下载地址:http://pan.baidu.com/s/1sjmC169
cocos2dx-api.lua: cocos2d-x 2.2.3词库
cocos2dx3.0-api.lua:cocos2d-x 3.0词库
选择下载相应版本号的cocos2d-x词库文件,放在【我的文档】【BabeLua】【Completion】文件夹下。又一次启动VS就可以。
Windows7,Windows8怎样打开【我的文档】文件夹?
在桌面上双击打开计算机,在左側列表中点击“文档”就可以打开【我的文档】文件夹。
高速搜索keyword
(1)在打开的Lua文件里按住Alt键,鼠标双击变量名就可以高速搜索keyword。
(2)点击搜索结果能够跳转到对应的Lua文件行。
(3)在此处能够直接输入keyword名称进行搜索。
(4)点此button能够切换“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逐语句进行跟踪调试。
按F5继续执行HelloLua.exe
cocos2d-x+Lua开发人员欢迎增加QQ讨论群
Lua fans QQ群:95814965
使用BabeLua在cocos2d-x中编辑和调试Lua的更多相关文章
- 使用BabeLua3.x在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能. 如何 ...
- alv中编辑的时候quan字段小数位数被截取掉
alv中编辑的时候quan字段小数位数被截取掉:位数太多(最大只能为 0) 解决方法: ls_fcat-fieldname = 'ZKBSL'. ls_fcat-coltext = '卡板数 ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- 如何在cocos2d项目中enable ARC
如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- word中编辑论文公式对齐问题
这里只说在word中编辑公式时,公式居中,编号右对齐的情况. 在编辑公式时,我平时就是右对齐,然后通过敲击空格键进行公式的居中,然而这样并不美观.所以接下来学习一下: 1)首先打开视图-->标尺 ...
- qt creator中编辑Makefile的设置
在qt creator中编辑Makefile时的Tab键总是不能识别,需要这样设置
- eclipse中编辑properties文件无法看到中文
如果在eclipse中编辑properties文件无法看到中文则参考“Eclipse开发环境配置-indigo.docx”添加propedit插件.
随机推荐
- WCF4.0 知识点
一些基础概念 SOAP:Simple Object Access Protocol,简单对象访问协议,基于XML的可扩展消息信封格式,需同事绑定一个网络传输协议. UDDI:用来发布和搜索web服务的 ...
- Oracle解除表锁定问题
1.肯定是你同时打开了多个操作页面,要记得关闭多个打开的sql窗口. 2.可以变相删除表,再重新创建一张同名的表来解除表被锁住的问题
- Linux安装vmtools
unbantu下,先把DVD的Vmwarew.gz,文件拷贝到tmp文件.然后 tar zxf VMware Tools-0....... ls cd ./intall.pl 有个文件,先拷贝到roo ...
- VC 获取控制台窗体的句柄(hWnd)
在Windows中,句柄是一个系统内部数据结构的引用. 比如当你操作一个窗体.或说是一个Delphi窗体时,系统会给你一个该窗体的句柄,系统会通知你:你正在操作142号窗体.就此你的应用程序就能要求系 ...
- linux 下password加密程序(能够用于替换shadow文件里的用户password)
源代码例如以下: #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]){ if(arg ...
- 石子合并(区间dp)
石子合并(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程仅仅能每次将相邻 ...
- SQL从头開始
SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL) 查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中 ...
- DirectX11 学习笔记4 - 一个完整的封装框架
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3EzNjExMDYzMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- webview同步cookies
目前很多android app都内置了可以显示web页面的界面,会发现这个界面一般都是由一个叫做WebView的组件渲染出来的,学习该组件可以为你的app开发提升扩展性. 先说下WebView的一些优 ...
- 一个操作oracle的c#类 含分页
有别于以前的一个OracleHelper,这个版各有所长,MARK下. using System; using System.Data; using System.Data.OracleClient; ...