xlua-创建lua代码运行的虚拟机

游戏项目中,使用热更新是很常见的。主流的热更方案有xlua、tolua以及ILRuntime等。其中xlua是鹅厂开源的热更框架。笔者在公司使用的是xlua,想结合实际运用经验,分享一些关于xlua的知识。

本篇文章简单介绍lua代码的运行环境即虚拟机。熟悉java的朋友都知道java代码的运行,也是建立在java虚拟机之上的。虚拟机,顾名思义:它是特定代码能够正常执行的根本。鹅厂开放的xlua框架,实质是让我们可以在Unity项目中编写lua代码文件来实现业务逻辑功能,并且允许C#与Lua代码之间相互访问。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
 /*
  * xlua虚拟机
  */
public class LuaEnvTest : MonoBehaviour {

    private LuaEnv luaEnv;
    void Awake()
    {
        //创建lua虚拟机,它是lua代码运行环境,所以必须提前初始化
        //【注意】整个项目中,有一个lua虚拟机即可
        luaEnv = new LuaEnv();
    }


    void Start()
    {
        ExcuteLuaCode("CS.UnityEngine.Debug.LogError('Good Morning')");
    }

    /// <summary>
    /// lua代码执行
    /// </summary>
    /// <param name="luaStr"></param>
    private void ExcuteLuaCode(string luaStr)
    {
        if (luaEnv != null)
            luaEnv.DoString(luaStr);
    }

    void OnDestroy()
    {
        //释放卸载
        if (luaEnv != null)
            luaEnv.Dispose();
    }

}

上面是一个简单lua代码执行例子。主要介绍lua代码执行的lua虚拟机环境实例对象的创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值