quick-cocos2d-x + Lua 开发

 

   quick-cocos2d-x + Lua 开发 首页在Eclipse中搭建quick-cocos2d-x的lua开发环境.

1. 首先需要给eclipse装一个lua的plugin(google之), 或者直接下载ldt集成开发环境(http://www.eclipse.org/koneki/ldt/), 目前稳定版本是0.9。

2.通过git工具clone: https://github.com/dualface/quick-cocos2d-x,比如我放在e盘. 如果你后面需要重新编译quick,那你需要git submodule update一下 cocos2dx的代码,具体参考quick说明。

3. 尝试运行E:\quick-cocos2d-x\sample\CoinFlip\run_simulator_win32.bat, 如果你是xp系统,可能会弹出无法定位inet_ntop这些错误, 这是因为quick里使用了luaSocket,而它使用了一些winXP不支持的系统API, 我修改了部分socket代码,在WIN32下替换了这些API的调用,https://github.com/laomoi/c2x_lua_bindings/tree/master/luasocket_winxp_patch 把这里面的3个文件替换掉lua_extension/socket里的文件后再重新编译生成模拟器。

4. 打开ldt,新建lua工程(以sample\CoinFlip为例)

5. 留意到ldt自带了一个lua5.1的execution environment, 这个东西主要是为了实现代码提示用的, 默认它支持了lua5.1的一些系统API, 比如io, os, math这些

6. 为了支持语法提示Cocos2dx和quick额外添加的一些lua bindnig和 quick framework,我们现在需要重新制作一个execution environment之后替换这个默认的lua 5.1.

详细制作的过程可参考https://github.com/laomoi/lua_complete_eclipse, 这里我们直接下载我之前生成好的execution environment, 然后在项目里添加进来

添加成功后, 项目目录应该如图所示, 下面有个quickLua.(debugger.lua如果没有不要紧,后面步骤会添加进去)

如果此时还没看到图中所示的quickLua, 那么重新在项目属性里, Lua->BuidPath->Libraries-> 点击Add Library重新添加一下 quickLua。

7. 在代码里试试看是否已经能弹出语法提示了

8. 下面配置调试环境让ldt支持在quick的模拟器里断点调试

点击debug,就会启动一个debug的侦听器等待lua程序通过socket连进来, 默认是30秒超时。

9. Lua程序要连进来,需要Luasocket的支持(参考第3步说明), 同时需要在项目里引入一个debugger.lua文件,这个文件可以在ldt里面生成导出

只是0.9版本的ldt默认导出的debugger文件不支持luajit,而quick使用了luajit2,所以我们需要重新制作一个debugger.lua, 这里已经有个猛男制作好了:

gist.github.com/jdesgats/5383865/raw/56591f94f48a253a821a5610525b402206c3df96/debugger.lua

直接下载拷贝到你的scripts目录里

然后在项目lua代码开头(比如game.lua,或者main.lua)加以下代码

local initconnection = require(“debugger”)
initconnection(’127.0.0.1′ , 10000 , ‘luaidekey’)

10. 尝试一下断点调试, 比如在scene/MenuScene 开头加个断点, 然后ldt开启debug侦听, 接着运行sample\CoinFlip\run_simulator_win32.bat, 顺利的话你会看到模拟器启动话,就停在断点上了

11. 你可能会发现调试时无法跳入quick framework里的代码,比如display.lua里的函数执行无法跳入。简单的解决方法是, 把framework拷贝入你的项目目录, 然后注释掉 main.lua里的CCLuaLoadChunksFromZip(“res/framework_precompiled.zip”)

再进行调试就可以跳进display.lua了。

12. ldt默认会解析execution environment里面和 build-source里面的lua文件,如果你发现你自己写的lua文件没有 被解析到,请检查

A. 你的代码文件文件是否在build-source里, 右键属性, build, source-path 进行查看
B. 是否依照了 ldt规定的文档格式写了注释 ,参考 http://wiki.eclipse.org/Koneki/LDT/User_Area/Documentation_Language

quick-cocos2d-x + Lua 开发的更多相关文章

  1. 在cocos code ide的基础上构建自己的lua开发调试环境

    对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...

  2. 详解LUA开发工具及其环境配置

    LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...

  3. Lua开发环境配置

    Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁.轻量.可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思. Lua is a powerful, fast, lightweight, ...

  4. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

  5. 一、ESP8266入门(基于LUA开发)

    序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须 ...

  6. Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建

    Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...

  7. [转载]使用VS2015搭建Lua开发环境

    参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...

  8. 快速将wax配置到项目中进行lua开发

    通过Finder浏览到你保存该项目的文件夹.创建三个新的文件夹:wax.scripts和Classes. 第一:首先,下载源代码的压缩包.Wax放在GitHub上(https://github.com ...

  9. CentOS安装OpenResty(Nginx+Lua)开发环境

    一.简介 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高 ...

随机推荐

  1. Bufferread有readline()使得字符输入更加方便

    原则:保证编解码方式的统一,才能不至于出现错误. Io包的InputStreamread称为从字节流到字符流的桥转换类.这个类可以设定字符转换方式. OutputStreamred:字符到字节 Buf ...

  2. c#方法生成mysql if方法(算工作日)

    public static string retunSQl(string s,string e){ return @"IF ( "+s+ ">" +e+ ...

  3. python中paramiko的安装

    windows下安装并使用Python的SSH模块(paramiko+pycrypto+ecdsa) 2014-01-20 14:59 2223人阅读 评论(0) 收藏 举报 python+opens ...

  4. mysql更改utf8编码方式

    方法1: 一.查看数据库编码格式 1 mysql> show variables like 'character_set_database'; 二.查看数据表的编码格式 1 mysql> ...

  5. iOS 功能代码 上传到 远程 码云私有库

    推送代码到远程私有库 创建私有库(注意:仓库名称LYDKit必须和本地仓库对应的名称一样) 复制远程仓库的地址,打开终端,cd到对应的本地库路径下面 >>> cd /Users/cx ...

  6. C# winform 中MessageBox用法大全(附效果图)

    我们在程序中经常会用到MessageBox. MessageBox.Show()共有21中重载方法.现将其常见用法总结如下: 1.MessageBox.Show(“Hello~~~~”); 最简单的, ...

  7. 剑指 offer set 27 赋值运算符函数

    要求为类 CMyString 定义赋值运算符函数. 类的定义如下 class CMyString { public: CMyString(char* pData = NULL; ) CMyString ...

  8. phpcms替换类列表页,内容页,主页

    phpcms替换类列表页,内容页,主页   利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templat ...

  9. DOM API querySelector与querySelectorAll的用法

    DOM API querySelector与querySelectorAll的用法:  http://www.qttc.net/201309371.html querySelectorAll与quer ...

  10. 【BZOJ4254】Aerial Tramway 树形DP

    [BZOJ4254]Aerial Tramway 题意:给你一座山上n点的坐标,让你在山里建m条缆车,要求缆车两端的高度必须相等,且中间经过的点的高度都小于缆车的高度.并且不能存在一个点位于至少k条缆 ...