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

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

概述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环境 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$",stderr);  #endif 

最后效果图:

3.2 无法定义全局变量

不知道从那个版本开始,Cocos2d-x lua 对全局变量的声明做出限制,不允许定义全局变量。如果声明全局变量,那么调试时会出错,并且提示你建议这样写:
cc.exports.varname = XXX
解决方法:
config.lua中将CC_disABLE_GLOBAL = true 设为false即可。

3.3 print()函数无输出

这也是个坑,lua中print无法显示到调试框中。
解决方法:
在项目里的AppDelegate.cppapplicationDIDFinishLaunching里面
加入 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 总结

以上是内存溢出为你收集整理的Cocos2d-x lua 3.x VS集成Babelua 环境搭建与代码调试全部内容,希望文章能够帮你解决Cocos2d-x lua 3.x VS集成Babelua 环境搭建与代码调试所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1083667.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存