精华内容
下载资源
问答
  • 腾讯出品的XLua越来越受到游戏开发者的青睐,小编也不例外,但在学习XLua文档的时候,深感腾讯的这个文档写的,还不如他们的各种SDK写的好。小编决定逐行分析其文档,把缺下的注释补回来。同是也欢迎大神订正。 第...

    腾讯出品的XLua越来越受到游戏开发者的青睐,小编也不例外,但在学习XLua文档的时候,深感腾讯的这个文档写的,还不如他们的各种SDK写的好。小编决定逐行分析其文档,把缺下的注释补回来。同是也欢迎大神订正。

    第一篇 LuaBehaviour

    /*
     * Tencent is pleased to support the open source community by making xLua available.
     * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
     * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
     * http://opensource.org/licenses/MIT
     * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
    */
    
    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    using XLua;
    using System;
    
    [System.Serializable]
    public class Injection
    {
        public string name;
        public GameObject value;
    }
    
    [LuaCallCSharp]
    public class LuaBehaviour : MonoBehaviour {
        //lua代码,在腾讯实例中是在Hierarchy面板赋值的
        public TextAsset luaScript;
        public Injection[] injections;
    
        internal static LuaEnv luaEnv = new LuaEnv(); //all lua behaviour shared one luaenv only!
        internal static float lastGCTime = 0;
        internal const float GCInterval = 1;//1 second 
    
        private Action luaStart;
        private Action luaUpdate;
        private Action luaOnDestroy;
    
        private LuaTable scriptEnv;
    
        void Awake()
        {
            //获取LuaTable,要用luaEnv.NewTable(),这里会做一些排序,共用虚拟机等操作
            scriptEnv = luaEnv.NewTable();
            LuaTable meta = luaEnv.NewTable();
            //key,value的方式,虚拟机环境对应的key值一定要是这个“__index”,
            //在xlua的底层,获取LuaTable所属虚拟机的环境是get的时候,用的key是这个名字,所以不能改
            meta.Set("__index", luaEnv.Global);
            //将有虚拟机和全局环境的table绑定成他自己的metatable
            scriptEnv.SetMetaTable(meta);
            //值已经传递过去了,就释放他
            meta.Dispose();
            //这里的"self"和上面的"__index"是一个道理啦。将c#脚本绑定到LuaTable
            scriptEnv.Set("self", this);
            //在腾讯示例中,Hierarchy面板赋值的,在这里应该是约定名字和子物体的对应,绑定到luatable
            foreach (var injection in injections)
            {
                scriptEnv.Set(injection.name, injection.value);
            }
            //执行lua语句,三个参数的意思分别是lua代码,lua代码在c#里的代号,lua代码在lua虚拟机里的代号
            luaEnv.DoString(luaScript.text, "LuaBehaviour", scriptEnv);
            //xlua搞了这么久,也就是为了最后这几个锤子,c#调用lua里的方法。
            //总结起来一句话,通过luatable这个类来完成c#调用Lua
            //怎样完成这一步呢?就是获取luatable对象,配置lua虚拟机,配置虚拟机环境,绑定c#代码,最后执行lua语句
            Action luaAwake = scriptEnv.Get<Action>("awake");
            scriptEnv.Get("start", out luaStart);
            scriptEnv.Get("update", out luaUpdate);
            scriptEnv.Get("ondestroy", out luaOnDestroy);
            if (luaAwake != null)
            {
                luaAwake();
            }
        }
    
    	// Use this for initialization
    	void Start ()
        {
            if (luaStart != null)
            {
                luaStart();
            }
    	}
    	
    	// Update is called once per frame
    	void Update ()
        {
            if (luaUpdate != null)
            {
                luaUpdate();
            }
            if (Time.time - LuaBehaviour.lastGCTime > GCInterval)
            {
                luaEnv.Tick();
                LuaBehaviour.lastGCTime = Time.time;
            }
    	}
    
        void OnDestroy()
        {
            if (luaOnDestroy != null)
            {
                luaOnDestroy();
            }
            luaOnDestroy = null;
            luaUpdate = null;
            luaStart = null;
            scriptEnv.Dispose();
            injections = null;
        }
    }
    
    lua代码

    -- Tencent is pleased to support the open source community by making xLua available.
    -- Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
    -- Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
    -- http://opensource.org/licenses/MIT
    -- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
    
    local speed = 10
    
    function start()
    	print("lua start...")
    end
    
    function update()
    	local r = CS.UnityEngine.Vector3.up * CS.UnityEngine.Time.deltaTime * speed
    	self.transform:Rotate(r)
    end
    
    function ondestroy()
        print("lua destroy")
    end
    
    
    腾讯XLua开源地址传送门: 点击打开链接
    里面的资源是需要git下载的,为了帮助还没有用过git的伙伴,小编简单说两句怎样使用

    1.下载安装git安装包

    2.打开它


    2.cd到你文档要下载到的目录

    3.输入git clone https://github.com/Tencent/xLua.git 回车成功!

    如果您觉得有用,就请我喝杯咖啡吧0.0


    展开全文
  • 目录 一、配置XLua开发环境 C#下Lua编程支持 xLua的突破 XLua安装 安装EmmyLua插件 二、文档 三、热补丁 四、示例教程 一、配置XLua开发环境 C#下Lua编程支持 xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的...

    目录

    一、配置XLua开发环境

    C#下Lua编程支持

    xLua的突破

    XLua安装

    安装EmmyLua插件

    二、文档

    三、热补丁

    四、示例教程


    一、配置XLua开发环境

    C#下Lua编程支持

    xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。

    xLua的突破

    xLua在功能、性能、易用性都有不少突破,这几方面分别最具代表性的是:

    • 可以运行时把C#实现(方法,操作符,属性,事件等等)替换成lua实现;
    • 出色的GC优化,自定义struct,枚举在Lua和C#间传递无C# gc alloc;
    • 编辑器下无需生成代码,开发更轻量;

    更详细的特性、平台支持介绍请看这里

    XLua安装

    官方下载地址:自己复制粘贴一下吧

    https://github.com/Tencent/xLua

    (可以下载我的工程,加了一些备注,Github源码下载

    打开zip包,你会看到一个Assets目录,这目录就对应Unity工程的Assets目录,保持这目录结构放到你的Unity工程。

    如果希望安装到其它目录,请看FAQ相关介绍。

    安装EmmyLua插件

    EmmyLua 环境安装【最新版】

    EmmyLua 断点调试、xlua断点调试

    二、文档

    三、热补丁

    • 侵入性小,老项目原有代码不做任何调整就可使用。
    • 运行时影响小,不打补丁基本和原有程序一样。
    • 出问题了可以用Lua来打补丁,这时才会走到lua代码逻辑;

    这里是使用指南。

    四、示例教程

    五、其他注意事项

    C#方法中含out ref参数修饰符的注意事项

    展开全文
  • XLUA 说明文档

    2019-03-18 18:27:29
    XLUA详细的说明文档
  • xlua设计文档

    2019-02-07 21:57:50
    xlua设计文档
  • XLua官方文档 Xlua特性

    2020-10-12 11:52:11
    特性 总体 Lua虚拟机支持 Lua5.3 Luajit2.1 Unity3D版本支持 各版本均支持 平台支持 windows 64/32 ...ios 64/32/bitcode ...配置可以多份,按模块划分,也可以直接在目标类型上打Attribute标签 ...Plugins部分采用cmake编译...

    特性

    总体

    • Lua虚拟机支持
    • Lua5.3
    • Luajit2.1
    • Unity3D版本支持
      各版本均支持
    • 平台支持
      windows 64/32
      android
      ios 64/32/bitcode
      osx
      uwp
      webgl
    • 互访技术
    • 生成适配代码
    • 反射
    • 易用性
    • 解压即可用
    • 开发期无需生成代码
    • 生成代码和反射间可无缝切换
    • 更简单的无GC api
    • 菜单简单易懂
    • 配置可以多份,按模块划分,也可以直接在目标类型上打Attribute标签
    • 自动生成link.xml防止代码剪裁
    • Plugins部分采用cmake编译,更简单
    • 核心代码不依赖生成代码,可以随时删除生成目录
    • 性能
    • Lazyload技术,避免用不上的类型的开销
    • lua函数映射到c# delegate,lua table映射到interface,可实现接口层面无C# gc alloc开销
    • 所有基本值类型,所有枚举,字段都是值类型的struct,在Lua和C#间传递无C# gc alloc
    • LuaTable,LuaFunction提供无gc访问接口
    • 通过代码生成期的静态分析,生成最优代码
    • 支持C#和Lua间指针传递
    • 自动解除已经Destroy的UnityEngine.Object的引用
    • 扩展性
    • 不用改代码就可以加入Lua第三方扩展
    • 生成引擎提供接口做二次开发

    支持为如下C#实现打补丁

    • 构造函数
    • 析构函数
    • 成员函数
    • 静态函数
    • 泛化函数
    • 操作符重载
    • 成员属性
    • 静态属性
    • 事件

    Lua代码加载

    • 加载字符串
    • 支持加载后立即执行
    • 支持加载后返回一个delegate或者LuaFunction,调用delegate或者LuaFunction后可传脚本参数
    • Resources目录的文件
    • 直接require
    • 自定义loader
    • Lua里头require时触发
    • require参数透传给loader,loader读取Lua代码返回
    • Lua原有的方式
    • Lua原有的方式都保留

    Lua调用C#

    • 创建C#对象
    • C#静态属性,字段
    • C#静态方法
    • C#成员属性,字段
    • C#成员方法
    • C#继承
    • 子类对象可以直接调用父类的方法,访问父类属性
    • 子类模块可以直接调用父类的静态方法,静态属性
    • 扩展方法(Extension methods)
    • 就像普通成员方法一样使用
    • 参数的输入输出属性(out,ref)
    • out对应一个lua返回值
    • ref对应一个lua参数以及一个lua返回值
    • 函数重载
    • 支持重载
    • 由于lua数据类型远比C#要少,会出现无法判断的情况,可通过扩展方法来来调用。
    • 操作符重载
    • 支持的操作符:+,-,*,/,==,一元-,<,<=, %,[]
    • 其它操作符可以借助扩展方法调用
    • 参数默认值
    • C#参数有默认值,在lua可以不传
    • 可变参数
    • 在对应可变参数部分,直接输入一个个参数即可,不需要把这些参数扩到一个数组里头
    • 泛化方法调用
    • 静态方法可以自行封装使用
    • 成员函数可通过扩展方法封装使用
    • 枚举类型
    • 数字或字符串到枚举的转换
    • delegate
    • 调用一个C# delegate
    • +操作符
    • -操作符
    • 把一个lua函数作为一个c# delegate传递给c#
    • event
    • 增加事件回调
    • 移除事件回调
    • 64位整数
    • 传递无gc而且无精度损失
    • lua53下使用原生64位支持
    • 可以和number运算
    • 以java的方式支持无符号64位整数
    • table的自动转换到C#复杂类型
    • obj.complexField = {a = 1, b = {c = 1}},obj是一个C#对象,complexField是两层嵌套的struct或者class
    • typeof
    • 对应C#的typeof操作符,返回Type对象
    • lua侧直接clone
    • decimal
    • 传递无gc而且无精度损失

    C#调用Lua

    • 调用Lua函数
    • 以delegate方式调用Lua函数
    • 以LuaFunction调用lua函数
    • 访问Lua的table
    • LuaTable的泛化Get/Set接口,调用无gc,可指明Key,Value的类型
    • 用标注了CSharpCallLua的interface访问
    • 值拷贝到struct,class

    Lua虚拟机

    • 虚拟机gc参数读取及设置

    工具链

    • Lua Profiler
    • 可根据函数调用总时长,平均每次调用时长,调用次数排序
    • 显示lua函数名及其所在文件的名字及行号
    • 如果C#函数,会显示这个是C#函数
    • 支持真机调试
    展开全文
  • XLUA

    2018-12-12 21:32:00
    现在有很多实现解决方案,基本都是借助Lua来实现的,在这众多之中,最后还是选择xLua,最早了解xLua是在腾讯的手游项目中,腾讯Apollo通用组件中,只是涉及的项目中,并没有xLua的源码及文档相关的说明。可能当时...

    原文 转载请注明保留原文链接:http://www.jianshu.com/p/dc4de5612d9e

    作者:Jumbo

    在Unity3D项目中,逻辑代码热更新这一块,现在有很多实现解决方案,基本都是借助Lua来实现的,在这众多之中,最后还是选择xLua,最早了解xLua是在腾讯的手游项目中,腾讯Apollo通用组件中,只是涉及的项目中,并没有xLua的源码及文档相关的说明。可能当时xLua还在改进当中。直到2017年1月3日,腾讯Github开源项目中,出现xLua的身影。xLua优势:1、集成快 (几乎不用改变原本项目的代码) 2、专职人员负责维护(企鹅还是有这个实力·~~·),说再多也不如自己切身体验一番。下面就帮大家,快速入门下。

    一、xLua源码: https://github.com/Tencent/xLua/ 没有帐号或者下载不了的同学,可以邮箱留言,发一份给大伙;

    二、获取到源码后,首先认真阅读README.md内容,可以更好的帮大家了解xLua,是否项目中遇到的问题,可以通过xLua来帮忙处理?;

    三、根据提供的示例:
    01_Helloworld: 快速入门的例子。
    02_U3DScripting: 展示怎么用lua来写MonoBehaviour。
    03_UIEvent: 展示怎么用lua来写UI逻辑。
    04_LuaObjectOrented: 展示lua面向对象和C#的配合。
    05_NoGc: 展示怎么去避免值类型的GC。
    06_Coroutine: 展示lua协程怎么和Unity协程相配合。
    07_AsyncTest: 展示怎么用lua协程来把异步逻辑同步化。
    08_Hotfix: 热补丁的示例(需要开启热补丁特性,如何开启请看指南)。
    配合文档:
    XLua教程.doc:教程,其配套代码这里
    XLua的配置.doc:介绍如何配置xLua。
    XLua增加删除第三方lua库.doc:如何增删第三方lua扩展库。
    XLua API.doc:API文档。
    可以更好的了解xLua具备那些特性,如何便捷使用。

    四、最重要的功能:热补丁
    xLua支持热补丁,这意味着你可以:
    1、开发只用C#;
    2、运行也是C#,性能可以秒杀lua;
    3、出问题了才用Lua来改掉C#出问题的部位,下次整体更新时换回正确的C#;能做到用户不重启程序fix bug;

    如果你仅仅希望用热更新来fix bug,这是强烈建议的做法。这里是使用指南。
    这个文档说明一定要仔细阅读https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/hotfix.md

    很多刚开始接触的同学,因为没有认真看文档说明,容易出现一些问题,这边列举下:
    注意:a、HOTFIX_ENABLE宏是否在Unity3D的File->Build Setting->Scripting Define Symbols下添加
    b、Mono.Cecil.是否拷贝:OSX命令行 cp /Applications/Unity/Unity.app/Contents/Managed/Mono.Cecil.Project/Assets/XLua/Src/Editor/

    Win命令行 copy UnityPath\Editor\Data\Managed\Mono.Cecil.* Project\Assets\XLua\Src\Editor\

    c、菜单栏中,执行xLua/Generat Code, 会在新建Gen文件夹,下面生成一些wrap文件

     

     
     


    具体生成那些类型对应的wrap文件,需要自己配置,详见:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Examples/ExampleGenConfig.cs
    在项目中集成,最好自己写一份配置,替换ExampleGenConfig,比如取名CustomGenConfig.cs,加入了[Hotfix]标签

     

      //需要热更新的类型
        [Hotfix]
        public static List<Type> by_field = new List<Type>() { }; 

    d、要等打印了hotfix inject finish!后才运行例子,否则会类似xlua.access, no field __Hitfix0_Update的错误

    五、整合xLua进项目
    1、

     

     
     

    2、

     
     

    3、

     
     

    先贴上代码(myHotfix.lua 编写fixbug逻辑):

    using UnityEngine;
    using System.Collections;
    using XLua;
    
    /// <summary> /// 先判断更新热补丁文件,然后再执行Fixing /// </summary> public class xLuaInstance : MonoSingleton<xLuaInstance>{ LuaEnv luaenv; const string fixFile = "myHotfix.lua"; public string FixFilePath { get { return FileUtils.GetFullPath(null, fixFile, FileUtils.StorageType.Persistent); } } /// <summary> /// 热补丁修复中。。。 /// </summary> public void Fixing() { byte[] bytes = System.IO.File.ReadAllBytes(FixFilePath); if (bytes != null) { luaenv = new LuaEnv(); luaenv.AddLoader((ref string filename) => { if (filename == "myHotfix") { filename = FixFilePath; return bytes; } return null; }); luaenv.DoString(@"require 'myHotfix'"); } } void Update() { if (luaenv != null) luaenv.Tick(); } void OnDestroy() { if (luaenv != null) luaenv.Dispose(); } } 

    4、大致流程
    i、游戏一开始启动时,检查远程服务器上是否有新的myHotfix.lua文件(例如:md5比对,自己加解密),有的话,下载下来,放在指定目录,没有的话,读取本地已有的myHotfix.lua文件,若文件不存在,则说明不需要热修复,一般这种情况是在项目刚发布的早起,没有进行打补丁;

    ii、项目发布版本前,需要在CustomGenConfig.cs中 加入需要添加[Hotfix]标签的类型,想要更灵活使用的话,可以自己写个配置表,读取配置中的类型,自动添加,***只有加入[Hotfix]标签的类型,才可以调用xlua.hotfix()

     

     
     

     

    ,不然会报错,切记!!!

    iii、如果你的项目是自动化发布版本,需要在调用打包之前,生成wrap, 调用这个CSObjectWrapEditor.Generator.GenAll();

    MonoSingleton.cs

    //非线程安全
    using UnityEngine;
    
        /// <summary>
        /// 基类继承树中有MonoBehavrour类的单件实现,这种单件实现有利于减少对场景树的查询操作 /// </summary> /// <typeparam name="T"></typeparam> public class MonoSingleton<T> : MonoBehaviour where T : Component { // 单件子类实例 private static T _instance; // 在单件中,每个物件的destroyed标志设计上应该分割在不同的存储个空间中,因此,忽略R#的这个提示 // ReSharper disable once StaticFieldInGenericType private static bool _destroyed; /// <summary> /// 获得单件实例,查询场景中是否有该种类型,如果有存储静态变量,如果没有,构建一个带有这个component的gameobject /// 这种单件实例的GameObject直接挂接在bootroot节点下,在场景中的生命周期和游戏生命周期相同,创建这个单件实例的模块 /// 必须通过DestroyInstance自行管理单件的生命周期 /// </summary> /// <returns>返回单件实例</returns> public static T Instance { get{ if (_instance == null && !_destroyed) { _instance = (T) FindObjectOfType(typeof (T)); if (_instance == null) { GameObject go = new GameObject(typeof (T).Name); _instance = go.AddComponent<T>(); DontDestroyOnLoad(_instance); var singletonRootGo = GameObject.Find("MonoSingletonRoot"); if (singletonRootGo != null) { go.transform.parent = singletonRootGo.transform; } } } return _instance; } } /// <summary> /// 删除单件实例,这种继承关系的单件生命周期应该由模块显示管理 /// </summary> public static void DestroyInstance() { if (_instance != null) Destroy(_instance.gameObject); _destroyed = true; _instance = null; } /// <summary> /// Awake消息,确保单件实例的唯一性 /// </summary> protected virtual void Awake() { if (_instance != null && _instance.gameObject != gameObject) Destroy(gameObject); else if(_instance == null) _instance = GetComponent<T>(); DontDestroyOnLoad(_instance); } /// <summary> /// OnDestroy消息,确保单件的静态实例会随着GameObject销毁 /// </summary> protected virtual void OnDestroy() { if (_instance != null && _instance.gameObject == gameObject) { _instance = null; } } /// <summary> /// Have Instance /// </summary> /// <returns></returns> public static bool HaveInstance() { return _instance != null; } } 

    如何调试Lua脚步,接下来,我会写一篇关于ZeroBrane这个工具。

    在此感谢xLua作者:车雄生 chexiongsheng!!!
    期待大家的支持!!!
    祝大家在17年万事如意,身体健康!!!



    作者:JumboWu
    链接:https://www.jianshu.com/p/dc4de5612d9e
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    转载于:https://www.cnblogs.com/hpu001/p/10111168.html

    展开全文
  • XLua

    2019-01-21 17:27:52
    Skip to content   Pull requests Issues Marketplace Explore     Sign out  Watch  ...Tencent/xLua  Code Issues 5 Pull requests 1 Projects 0 Wiki Insig...
  • Xlua

    千次阅读 2018-06-18 09:29:04
    有一个项目做完快上线了,不是lua写的,能热更新的东西就特别少,如果遇到bug也很难在第一时间热修复,所以我就接入了Xlua这个插件点击打开链接 原本只是想热修复一下的,后来领导要求把逻辑系统的C#代码全部换成了Lua,...
  • xlua framework

    2019-01-25 22:48:43
    xlua framework及文档介绍,包括excel转xlua工具,转pb工具,pb解析,网络请求,xlua UI框架等完整的游戏框架
  • XLua API:API文档。 生成引擎二次开发指南:介绍如何做生成引擎的二次开发。 快速入门 一个完整的例子仅需3行代码: 安装好xLua,建一个MonoBehaviour拖到场景,在Start加入如下代码: XLua.LuaEnv luaenv = new...
  • Xlua 不同平台编译第三方lua库

    千次阅读 2020-02-10 19:38:27
    工具 Xlua使用CMake进行编译,不管是哪个平台都需要提前安装 ...上图是下载的GitHub 下载的xlua工程,标号1需要将 lua-rappidjson 拷贝到文件夹里面来,具体步骤xlua文档里面有,第二部运行此bat文件,第...
  • XLua API:API文档。 生成引擎二次开发指南:介绍如何做生成引擎的二次开发。 快速入门 一个完整的例子仅需3行代码: 安装好xLua,建一个MonoBehaviour拖到场景,在Start加入如下代码: XLua.LuaEnv luaenv = new...
  • XLua心得

    万次阅读 2018-04-19 09:49:58
    xlua简介 xlua是由腾讯维护的一个开源项目,除了常规的Lua绑定之外,还有一个比较有特色的功能就是代码热补丁。非常适合前期没有规划使用Lua进行逻辑开发,后期又需要在iOS这种平台获得代码热更新能力的项目。 刚...
  • Xlua学习

    千次阅读 2018-03-20 15:37:53
    xlua简介 xlua是由腾讯维护的一个开源项目,除了常规的Lua绑定之外,还有一个比较有特色的功能就是代码热补丁。非常适合前期没有规划使用Lua进行逻辑开发,后期又需要在iOS这种平台获得代码热更新能力的项目。 刚...
  • [Unity XLua]热更新XLua入门(一)-基础篇

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

    2018-06-08 15:21:20
    xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。
  • XLua框架搭建——xLua常用库集成

    千次阅读 2018-05-29 20:03:17
    官方文档里提供了一个集成第三方库的教程,对于日常开发,其实我们经常需要引入一些第三方库,如何加入到项目里,就需要参考这个文档了。 一般来说,游戏开发需要用到的库就那么几个,对此,作者为我们集成了几个第...
  • Xlua文档: 2、映射到一个interface 这种方式依赖于生成代码(如果没生成代码会抛InvalidCastException异常),代码生成器会生成这个interface的实例, 如果get一个属性,生成代码会get对应的table字段,如果set属性...
  • XLua学习心得

    2019-07-09 10:35:32
    一、XLua简介 XLua作为腾讯近年来一大开源贡献,受到了业界的广泛好评。...配置文档: https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/hotfix.md 官方FAQ: https://github.c...
  • XLua的一些官网

    千次阅读 2018-07-03 14:53:39
    官网:https://github.com/Tencent/xLua配置文档:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/hotfix.md官方FAQ:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/faq.md代码生成...
  • XLua文档第三条: 3、更轻量级的by value方式:映射到Dictionary<>,List<> 不想定义class或者interface的话,可以考虑用这个,前提table下key和value的类型都是一致的。 > Dictionary映射 ...
  • XLua 最新示例代码和api文档,包含xlua相关配置,api文档,适合初中学者
  • XLua文档4: 4、另外一种by ref方式:映射到LuaTable类 这种方式好处是不需要生成代码,但也有一些问题,比如慢,比方式2要慢一个数量级,比如没有类型检查。 private LuaEnv luaEnv; void Start() { luaEnv =...
  • FairyGUI导出XLua接口

    千次阅读 2017-03-14 17:56:42
    因为这块比较简单,根据XLua文档可以直接导出。 为了省事我就写完这个导出Wrap的代码。 using System.Collections.Generic; using System; using UnityEngine; using XLua; using FairyGUI; /// /// Fariry导出...
  • XLua在Unity中的用法摘要

    千次阅读 2018-10-09 15:44:46
    XLua在Unity中的用法摘要 整理自官方教程: https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/XLua教程.md ...其他官方文档链接: 常见问题解答:https://githu...
  • XLua学习笔记

    2018-08-11 16:27:06
    首先 : XLua 需要 先导入Xlua的资源。且不要随意拖动  脚本中 引用命名空间 Using XLua;  先说一下我自己碰到需要注意的点: 1、字符串前加@ 代表着该字符串取消转义  2、在不...
  • c#调用XLua

    2019-12-17 16:16:57
    不准备继续留沪了,也坚持到项目结束了,虽然还没上线,不过该做的也都做了,百善孝为先,架不住老人连续一年多的思念,准备离职了,点开到这个公司的第一篇文档,思绪万千,想起当年还在实习的时候,写的C#连接XLUA文档,发...
  • XLua_2018最新版

    2018-12-26 18:20:38
    * [10_SignatureLoader](Assets/XLua/Examples/10_SignatureLoader/): 展示如何读取经数字签名的lua脚本,参见[数字签名](Assets/XLua/Doc/signature.md)的文档介绍。 * [11_RawObject](Assets/XLua/Examples/11_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436
精华内容 174
热门标签
关键字:

xlua文档