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. 【BZOJ】1685: [Usaco2005 Oct]Allowance 津贴(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1685 由于每个小的都能整除大的,那么我们在取完大的以后(不超过c)后,再取一个最小的数来补充,可以证 ...

  2. Merging an upstream repository into your fork

    1. Check out the branch you wish to merge to. Usually, you will merge into master. $ git checkout ma ...

  3. openstacksdk resource2 打印__dict__

    在一个继承resource2的实体里,打印self.__dict__结果是: {'_body': <openstack.resource2._ComponentManager object at ...

  4. hdu 1174:爆头(计算几何,三维叉积求点到线的距离)

    爆头 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  5. 【NLP】主题识别文档

    http://www.biostatistic.net/thread-94974-1-1.html http://www.doc88.com/p-9843685205530.html http://w ...

  6. 推荐一个 HTML5在线的流程图工具——ProcessOn

    一直想找个简单好用的UML建模工具,无意在茫茫百度中看见了网友推荐的N多工具,从中找了一个叫 ProcessOn 的工具,可以说非常棒.如果我是WEB开发人员,我肯定去深入研究HTML5啦,太令人着迷 ...

  7. 剑指 offer set 15 第一个只出现一次的字符

    题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符 思路: 1. 给定的题目约束比较多, 因此可以自定义哈希函数 2. 字符是一个长 ...

  8. jQuery源码分析-each函数

    本文部分截取自且行且思 jQuery.each方法用于遍历一个数组或对象,并对当前遍历的元素进行处理,在jQuery使用的频率非常大,下面就这个函数做了详细讲解: 复制代码代码 /*! * jQuer ...

  9. hdu1244(dp)

    简单dp Max Sum Plus Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  10. mac java环境

    1.java运行环境jre:http://www.java.com/zh_CN/ 2.jdk:http://www.oracle.com/technetwork/java/javase/downloa ...