基于Lua的可扩展性,简易性,高效,可移植性等特点,使得越来越多的开发者偏爱于这一脚本语言。具体的特点和使用网上也有很多,自己也会抽空大概梳理一下。
这里介绍一下基于cocos2d引擎如何同步添加LuaFileSystem(简称lfs)一个用于Lua进行文件访问的库。这样就可以实现在cocos2d引擎基于lua的版本中实现快速文件操作的功能,当然直接在C++端也是可以,因为脚本的特殊性,这里同步到该引擎下。废话不多说,这里记录一下
首先,去到官网下载对应的zip压缩包:LuaFileSystem Code。解压缩后,找到src目录下的lfs.h和lfs.c的源文件。
然后,新建cocos2d-lua项目,在class目录下新建lfs文件夹,将lfs.c和lfs.h拷贝到lfs文件目录里。
在Appdelegate文件头处,引入相应的头文件,然后在对应的applicationDidFinishLaunching()方法中添加对应的导出接口函数luaopen_lfs()。
编译运行,会提示如下错误
---------------------------------错误----------------------------------------
错误01:
解决办法:
依据错误的提示信息,可以定位到指定文件,然后对指定错误做类型转换这一相应修改,即可。
错误02:
解决办法:
在lfs.c文件引入lua.h的部分加上extern "C"{}
调用luaopen_lfs方法时已经将lfs模块写入全局变量表中了,所以在lua端不需要使用require("lfs")进行引用了,直接在lua代码里拿来用就行了。
local path = lfs.currentdir()
print("==============================" .. tostring(path) .. "类型:" .. type(path))