介绍
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();
}
}
总结
以上是基本用法,之后再详细介绍一下其它的一些用法