介紹
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();
}
- 將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();
}
}
總結
以上是基本用法,之後再詳細介紹一下其它的一些用法