Unity实验室之XLua介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java3182/article/details/79968594

介绍

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

总结

以上是基本用法,之后再详细介绍一下其它的一些用法

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页