前言
网上Unity使用lua的文章本来就少..slua又是个偏小众的lua库..文章更少..
已有的文章又有点坑...比如方法名关键字写错啦..真的是坑多= =
所以总结一片超简单教学= =
这篇文章面向刚开始学习lua 想在unity项目中使用sLua库的同学..
正文
导入sLua
- 1.直接下载最新版:sLua库下载地址
- 2.然后将解压后的Assets文件复制到你项目的Assets目录下,不要放到其他地方.
- 3.等待Unity编译完成,会出现SLua菜单如下图.然后选择Slua-All-Make命令 手动生成针对当前版本的Unity接口文件
做到这步你已经可以在Assets/Slua/example中查看sLua的官方例子了.每一个Scenes都展示了一种使用方法.
自己使用Lua脚本
创建一个新的Scene然后创建一个CreateEmpty创建一个C#文件挂载上去.然后在C#文件中写如下代码:
using UnityEngine;
using SLua;
public class Test : MonoBehaviour{
private static LuaState ls_state;
void Start()
{
ls_state = new LuaState();
ls_state.doString("print(\"Hello Lua!\")");
}
}
复制代码
成功后的样子是这样:
注意有些教程中LuaState在声明成属性时就初始化了,但是会报错,一定要在Awake方法或Start或需要用到的时候再进行初始化...
读取lua文件
C#代码
using UnityEngine;
using System.Collections;
using SLua;
using System.IO;
public class OpenLuaFile : MonoBehaviour{
public LuaState state;// sLua脚本代理
void Start()
{
state = new LuaState();
state.loaderDelegate = ((string fn) =>
{
string file_Path = Directory.GetCurrentDirectory() + "/Assets/Script/Lua/" + fn;
Debug.Log(file_Path);
return File.ReadAllBytes(file_Path);
});
//执行脚本
state.doFile("HelloLua.lua");
}
}
复制代码
在上面设定的路径中创建lua文件
代码:
print("你好 我是文件里的Lua!")
复制代码
"/Assets/Script/Lua/"为放置ua文件的目录,这个根据自己需求随意改变.
其他
本篇教程很基础,如果有精力会将之后学习到的知识都整理成博客分享给大家~