Unity中使用sLua的 超丶簡單基礎教程

前言

網上Unity使用lua的文章原本就少..slua又是個偏小衆的lua庫..文章更少..git

已有的文章又有點坑...好比方法名關鍵字寫錯啦..真的是坑多= =github

因此總結一片超簡單教學= =bash

這篇文章面向剛開始學習lua 想在unity項目中使用sLua庫的同窗..學習

正文

導入sLua

  • 1.直接下載最新版:sLua庫下載地址
  • 2.而後將解壓後的Assets文件複製到你項目的Assets目錄下,不要放到其餘地方.
  • 3.等待Unity編譯完成,會出現SLua菜單以下圖.而後選擇Slua-All-Make命令 手動生成針對當前版本的Unity接口文件

圖1-1

作到這步你已經能夠在Assets/Slua/example中查看sLua的官方例子了.每個Scenes都展現了一種使用方法.ui

本身使用Lua腳本

建立一個新的Scene而後建立一個CreateEmpty建立一個C#文件掛載上去.而後在C#文件中寫以下代碼:lua

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!\")");

    }

}

複製代碼

成功後的樣子是這樣:spa

注意有些教程中LuaState在聲明成屬性時就初始化了,可是會報錯,必定要在Awake方法或Start或須要用到的時候再進行初始化...3d

讀取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文件code

代碼:

print("你好 我是文件裏的Lua!")
複製代碼

"/Assets/Script/Lua/"爲放置ua文件的目錄,這個根據本身需求隨意改變.

其餘

本篇教程很基礎,若是有精力會將以後學習到的知識都整理成博客分享給你們~

相關文章
相關標籤/搜索