打开cmd,cd C:\Python27\Scripts(你自己的安装目录) pip install PyYAML pip install Cheetah 上面两行是安装适合版本的插件。 成功执行genbindings.py脚本后,会在frameworks/cocos2d-x/cocos/scripting/lua-bindings/auto/目录下看到新生成的桥接C++文件: 把这两个文件添加到VS libluacocos2d工程中auto目录下: 在fr...
1functioninit()2print(1)3end 然后,在initscript()函数添加以下代码: 1std::stringfilePath = FileUtils::getInstance()->fullPathForFilename("main.lua");2intret =luaL_dofile(m_luastate, filePath.c_str());3if(!ret)4{5runLuaFunc("init");6} runLuaFunc函数如下: voidHelloWorld::runLuaFunc(st...
【COCOS2DX-LUA 脚本开发之十一】C/C++与LUA之间进行数据函数交互以及解决“PANIC: UNPROTECTED ERROR IN CALL TO LUA API (ATTEMPT TO INDEX A NIL VALUE)”的问题
getLuaVarString : 调用lua全局string luaFileName = lua文件名 varName = 所要取Lua中的变量名 */ constchar* getLuaVarString(constchar* luaFileName,constchar* varName); /* getLuaVarOneOfTable : 调用lua全局table中的一个元素 luaFileName = lua文件名 varName = 所要取Lua中的table变量名 keyNa...
2、C++绑定到lua,就是lua能调用到C++的东西,当然也必须让lua知道有哪些C++东东可以给lua调用,所谓的“暴露” 这里说的绑定就是第2种情况,在lua中能调用到Cocos2dx的函数。 Cocos2dx通过工程里面的tools/toLua工具生成注册C++函数到lua的函数cpp文件 二、环境设置 ...
而如果要实现Lua的代码热更新,其实也就是需要重新加载某个模块,因此就要想办法让Lua认为它之前没有加载过。查看Lua代码发现,registry["_LOADED"]表,实际上对应的是package.loaded表,这在以下函数中有体现: (loadlib.c) 627LUALIB_APIintluaopen_package(lua_State *L){ ...
1、基本使用。这个很简单,不用修改任何代码,与lua5.1完全兼容。 对应的头文件和库要替换成luajit的(与lua命名相同) 2、发布时编译成字节码。 这个需要luajit.exe的执行文件。 编译方法(windows): 在(http://luajit.org/download.html)下载源代码,使用vs的命令行工具,执行msvc.bat进行编译。 我最开始使用cygwin...
新建项目的过程与新建VC项目的工程类似,不同的是选择Cocos-2d-x项目类型-->Cocos2d-win32 Application,在工程向导中可以选择使用的物理引擎、是否使用Cocos Denshion音乐模块、是否支持Lua脚本等,编译运行即可。 二、Android开发环境配置 Android是Google推出的开源手机操作系统,早期以Java语言作为第三方应用的开发语言,直...
tolua++ 简单易用,而且性能不错。所以早期 cocos2d-x 选择了 tolua++ 来做 luabinding。不过随着 ...
第一步:下载cjson包 cjson.zip: cjson.zip:http://vdisk.weibo.com/s/xQ-P6 第二步:将下载的cjson.zip解压并加入我们的项目中,如下图: 第三步:加载我们的cjson 打开项目的AppDelegate.cpp , (1)首先导入 #include “lua_extensions.h” (2)在此类的applicationDidFinishLaunching函数中,在CCLuaStack 实...