Unity實驗室之XLua介紹

介紹

xLua是騰訊在github上的一個開源項目(下載鏈接),主要解決熱更的問題,是和C#(Unity,.Net,Mono)結合的解決方案。支持android,ios,windows,linux,osx等平臺。目前已經有許多成熟產品應用案例使用了xLua.本文主要介紹xLua的基本用法。

hello world

using UnityEngine;
using XLua;

public class Example : MonoBehaviour
{
    private void Awake()
    {
        var luaenv = new LuaEnv();
        luaenv.DoString( "CS.UnityEngine.Debug.Log( 'hello world' )" );
        luaenv.Dispose();
    }
}
  • LuaEnv生成lua環境實例操作
  • DoString函數中的字符串,是Lua可以執行的代碼
  • Lua調用完畢後,釋放資源

讀取Resources下文本里的lua腳本

– example.lua.txt
CS.UnityEngine.Debug.Log(‘Hello world’)

//Example.cs
public class Example:MonoBehaviour{
    var luaenv = new LuaEnv();
    luaenv.DoString("require 'example'");
    luaenv.Dispose();
}

image
- 將Lua腳本放到Resources文件夾下(後綴用.txt不要用.lua,否則找不到)
- DoString指定讀取Resources文件夾下的Lua腳本內容執行

以變量的形式讀取lua執行

– example.lua.txt

CS.UnityEngine.Debug.Log( ‘hello world’ )

// Example.cs

using UnityEngine;
using XLua;

public class Example : MonoBehaviour
{
    public TextAsset m_luaScript;

    private void Awake()
    {
        var luaenv = new LuaEnv();
        luaenv.DoString( m_luaScript.text );
        luaenv.Dispose();
    }
}

image

總結

以上是基本用法,之後再詳細介紹一下其它的一些用法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章