您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x lua 3.x VS集成Babelua 环境搭建与代码调试

2017-05-01 22:49 471 查看

Cocos2d-x lua 3.x VS集成Babelua 环境搭建与代码调试

By Scarb

Scarb’s Blog

最近开始学Cocos2d-x lua,Cocos2d-x lua 环境搭建坑好多,搭了好久。以此博客来记录一下。

Cocos2d-x lua 3x VS集成Babelua 环境搭建与代码调试
创建Cocos2d-x lua项目

配置Visual Stuio BabeLua环境

注意事项坑
1 运行时没有调试框

2 无法定义全局变量

3 print函数无输出

4 lua 包引用

参考资料

1. 创建Cocos2d-x lua项目

使用的Cocos2d-x版本: 3.14

Cocos2d-x的环境搭建教程很多,在这里我就不详细讲了。

大致就是从官网下载Cocos2d-x引擎,解压。然后下一个python2.7.x版本,使用python运行setup.py,配置sdk,ndk,ant的路径(不配也可以,一直回车)。完了就配置好了。

接下来要创建Cocos2d-x项目。

配置好环境之后在任何位置开启cmd命令行,使用
cocos new
来创建项目。

cocos new projectname -p com.scarb.packagename -l lua


会直接在所在的目录创建cocos2d-x lua项目

-p 后面是包名,-l 后面是语言名

2. 配置Visual Stuio + BabeLua环境

先上一堆教程

BabeLua下载地址

BabeLua是一款基于VS2012/2013的免费开源的Lua集成开发环境,在Lua编辑和调试方面有很多优秀的特性。并且支持Cocos2d-x lua的调试

安装教程参考:系列1—BabeLua入门

使用教程参考:使用BabeLua在cocos2d-x中编辑和调试Lua

首先为VS安装BabeLua插件,然后配置好自动补全的api。

创建完cocos2d-x lua项目后,先用VS打开项目编译一遍。

然后把simulator里面的一些文件拷贝到主目录。

(这些是模拟器和配置文件,拷贝到主目录可以与config.json联动,直接运行就可以测试)



点Lua -> New Lua Project 使用BabeLua创建新的项目

如图,这里的Lua exe path不对,要设置为复制在主目录的exe文件



3. 注意事项(坑)

3.1 运行时没有调试框

配置完了,创建一个Hello world项目并且运行,却只有一个Cocos Simulator的框,没有lua调试的小黑框。一般调试框和模拟器框会一起出现,现在却只有一个。找了半天在别人的博客中找到了解决方法。

main.cpp
中添加代码,在头部添加一个宏定义
#define USE_WIN32_CONSOLE


然后在那个函数中添加如下代码。

#ifdef USE_WIN32_CONSOLE
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#endif


最后效果图:



3.2 无法定义全局变量

不知道从那个版本开始,Cocos2d-x lua 对全局变量的声明做出限制,不允许定义全局变量。如果声明全局变量,那么调试时会出错,并且提示你建议这样写:

cc.exports.varName = XXX


解决方法:

config.lua
中将
CC_DISABLE_GLOBAL = true
设为
false
即可。

3.3 print()函数无输出

这也是个坑,lua中print无法显示到调试框中。

解决方法:

在项目里的
AppDelegate.cpp
applicationDidFinishLaunching
里面

加入
engine->executeString("print=release_print");


或者直接在lua代码里面用
release_print()


3.4 lua 包引用

在Cocos2d-x lua 3.2 的代码,包引用需要

require "Cocos2d"


require "Cocos2dConstants"


之类,在某个版本之后只需要一条

require "cocos.init"


4. 参考资料

cocos2dx 3.x lua环境配置与代码调试 - 不当码农的程序猿

Windows下新建Cocos2d-x V3.10项目(cocos2d-x lua) - 博客频道 - CSDN.NET
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: