1. 程式人生 > 其它 >XLua學習筆記_lua檔案的載入方式

XLua學習筆記_lua檔案的載入方式

技術標籤:Xlua

一、使用Unity動態載入的方式獲取lua檔案

1.可以使用Unity的動態載入方式進行lua檔案的加(比如:Resources.load、Io載入方式、UnityWebRequest等方法進行載入)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;


/// <summary>測試第一種載入Lua指令碼的方式</summary>
public class LoadLuaFile : MonoBehaviour
{

    private LuaEnv m_LuaEnv;

    //示例中是通過Resources的載入方式進行載入lua,切記在相應的路徑下有對應的檔案
    private string m_LuaScriptPath = "TestLoadLuaScript.lua";


    private void Start()
    {
        m_LuaEnv = new LuaEnv();
        TextAsset luaText = Resources.Load<TextAsset>(m_LuaScriptPath);
        m_LuaEnv.DoString(luaText.ToString());
    }

    private void OnDestroy()
    {
        m_LuaEnv.Dispose();
    }


}

2.在“Resources” 目錄下,新建一個名為 “TestLoadLuaScript.lua.txt” 的lua指令碼(程式碼如下)

print("我是Lua指令碼,測試第一種載入Lua指令碼的方式")

3.執行結果如下圖

二、通過require函式來獲取lua檔案

1.Require優點是簡單,缺點是不能自定義載入路徑。只能載入固定路徑下的lua檔案(程式碼如下)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;

/// <summary>測試通過Require的方式載入Lua檔案</summary>
public class RequireLoadLuaFile : MonoBehaviour
{
    private LuaEnv m_LuaEnv;


    private void Start()
    {
        m_LuaEnv = new LuaEnv();
      
        m_LuaEnv.DoString("require 'TestRequireLoadLuaScript'");
    }


    private void OnDestroy()
    {
        m_LuaEnv.Dispose();
    }
}

2.在“Resources” 目錄下,新建一個名為 “TestRequireLoadLuaScript.lua.txt” 的lua指令碼(程式碼如下)

print("我是Lua指令碼,測試第二種通過Require載入Lua指令碼的方式")

3.執行結果如下圖