24 October 2016
版权声明:本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名elloop(包含链接)

前言

本文记录了为最新版本的cocos2d-x lua在mac上搭建开发环境的过程。

遇到的问题:

  1. 找到正确的lua文件位置,以desktop.app为例,在ZeroBrane中要加载 desktop.app/Contents/Resource/src下面的lua代码

  2. require(“mobdebug”) get file data from mobdebug.lua failed.

    solve: bug 存在于LuaLoader, ${zbs}/lualibs/?/?.lua, 它并不会去尝试加载 ${zbs}/lublibs/mobdebug/mobdebug.lua, 而是仅仅替换最后一个问号,即?.lua,搜索完${zbs}/lualibs/?/mobdebug.lua不做进一步的搜索了。因此我还要显式地把${zbs}/lualibs/mobdebug/?.lua也加入package.path中

  3. mobdebug.lua 102行:require “socket”, 报错:USE “ cc.exports.socket = value “ INSTEAD OF SET GLOBAL VARIABLE

    solve: 原因是cocos2d-x lua开启了全局变量定义的检测,

     1)  在main.lua中,require "cocos.init"之前,引入mobdebug.lua, 此时,cocos的全局变量检测机制还没有打开。
    
     2) 在framework/init.lua中`CC_DISABLE_GLOBAL`设为false, 即关闭全局变量检测开关。
    
  4. 加载main.lua时: error: syntax error during pre-compilation, 编译错误提示信息太简单,很难定位到底哪行出了问题

    solve:修改LuaStack::luaLoadBuffer()方法

     const char* error = lua_tostring(L, -1);
     CCLOG("[LUA ERROR] error result: %s",error);
     lua_pop(L, 1);
    
  5. 设置ZeroBrane的style theme, 打开config/theme-picker.lua, 点击主题超链接,即可实时预览效果,确定之后,复制生成的代码到config/user.lua保存即可。


作者水平有限,对相关知识的理解和总结难免有错误,还望给予指正,非常感谢!

在这里也能看到这篇文章:github博客, CSDN博客, 欢迎访问



分享到