前言
網上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檔案的目錄,這個根據自己需求隨意改變.
其他
本篇教程很基礎,如果有精力會將之後學習到的知識都整理成部落格分享給大家~