前言
网上Unity使用lua的文章本来就少..slua又是个偏小众的lua库..文章更少..
已有的文章又有点坑...比如方法名关键字写错啦..真的是坑多= =
所以总结一片超简单教学= =
这篇文章面向刚开始学习lua 想在unity项目中使用sLua库的同学..
正文
导入sLua
- 1.直接下载最新版:
- 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文件的目录,这个根据自己需求随意改变.
其他
本篇教程很基础,如果有精力会将之后学习到的知识都整理成博客分享给大家~