Unity实验室之XLua介绍

标签: xlua unity3d hotfix
6人阅读 评论(0) 收藏 举报
分类:

介绍

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

总结

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

查看评论

[Unity XLua]热更新XLua入门(二)-俄罗斯方块实例篇

前言在xLua没出来之前,开源的lua框架基本都是以界面用Lua开发为主,核心战斗用C#开发,但xLua出来之后主推C#开发,Lua用作HotFix,这里我展示的第一个例子就是基于界面的经典2D小游戏...
  • s10141303
  • s10141303
  • 2017-01-22 01:23:04
  • 11948

Xlua怎样调用Unity中的API

因工作需要,研究了一下xlua怎样在lua中调用unityAPI, 在lua中想要调用api需要获得这个类的命名空间,如果是自己写的类,要用CS.类名来调用类, 如果是静态方法,用点来调用该方法,...
  • qq_38257182
  • qq_38257182
  • 2018-01-02 16:55:48
  • 132

初探腾讯Unity手游热更新方案xlua

最近腾讯开源了旗下Unity手游热更新方案xlua到GitHub,引发了手游圈不小的关注。Unity热更一直是一个令开发者头疼的问题,ios的限制,效率问题等等。xlua提出了一个非常好的解决方案: ...
  • Fllay0108
  • Fllay0108
  • 2017-01-06 22:57:01
  • 3246

[Unity XLua]热更新XLua入门(一)-基础篇

Aladdin_XLua前言前段时间腾讯开源了一个内部热更框架XLua在Unity开发群里引起一阵热议,也受到广大开发者的热捧,然后我当然也抱着好奇的心去学习学习。后面也会将扩展之后的工程放在git上...
  • s10141303
  • s10141303
  • 2017-01-14 12:26:03
  • 37375

[Unity3D热更框架] LuaMVC之XLua

1.Lua   本篇博客内容本着“我们只是大自然的搬运工”这样的理念,为大家快速入门Lua和学习使用XLua(Unity Lua编程解决方案)提供一个学习线路以方便快速上手使用LuaMVC框架...
  • qq_29579137
  • qq_29579137
  • 2018-01-31 21:45:30
  • 327

XLua笔记-将lua项目和unity工程放到VS中

今天 又来玩了下xlua,在VS2015的环境下,加入了lua工程,这样就可以和untiy的脚本放在同一个VS编辑器中了,如下图这样首先是vs2015将在Extensions And Updatas下...
  • sinat_23156865
  • sinat_23156865
  • 2017-06-01 17:50:59
  • 2005

Unity中SLua、Tolua、XLua和ILRuntime效率评测

Unity Lua 效率对比
  • u011467512
  • u011467512
  • 2017-05-24 21:00:38
  • 8460

Unity热更新方案(uLua vs sLua)

首先附上这两个项目的地址,这两个项目都是比较完善的lua解决方案,从效率和使用方式上说都不相伯仲,我最终选择了ulua,但是并不是说其具有压倒性优势。         uLua:http://ulu...
  • langresser
  • langresser
  • 2015-04-18 13:50:09
  • 18084

Unity项目常见Lua解决方案性能比较

这是侑虎科技第108篇原创文章,感谢作者钱康来供稿。此文之前UWA曾推送过,但鉴于当时测试的Lua版本并非最新,因此UWA在第一时间将其删除。现在,UWA和原作者一起将Lua版本进行更新,并结合原作的...
  • UWA4D
  • UWA4D
  • 2017-01-11 15:57:37
  • 2334

Unity3d之ULua与XLua应用

初学ULua与XLua,在这里简单介绍一下各自特点与使用步骤,若有不当之处,欢迎指正。一:介绍 ULua与XLua都是用于Unity项目的热更新。 ULua的集成开发环境为SimpleFramew...
  • LightInDarkness
  • LightInDarkness
  • 2018-02-26 11:17:02
  • 331
    个人资料
    持之以恒
    等级:
    访问量: 3888
    积分: 440
    排名: 11万+
    个人站点
    文章存档