当我拿到_ENV表的时候,会去想这个_ENV表是干什么用的? 首先看如下代码: print(_ENV) --0x1d005f0 print(_G) --0x1d005f0 ViewCode 看了上面的代码,就感觉_ENV表不就是_G表吗?但_ENV表是不是全局的呢?我又打印了_G表的内容: for k , v in pairs(_G) do print(k , v) end --[[ package table: 0xad1e50 setmetatable function: 0x419220
一.Lua 文件加载 1. 执行字符串 using UnityEngine; using XLua; public class ByString : MonoBehaviour { LuaEnv luaenv = null; // Use this for initialization void Start () { luaenv = new LuaEnv(); // 执行代码块,输出 hello world luaenv.DoString("print('hello world')"
1. Helloworld using UnityEngine; using XLua; public class Helloworld : MonoBehaviour { // Use this for initialization void Start () { LuaEnv luaenv = new LuaEnv(); // 执行代码块,输出 hello world luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')"
Lua脚本是一种可用于C程序开发/测试的工具,本篇介绍一下C程序与Lua脚本如何进行相互调用,更加详细的操作参见<Programing in Lua>.本文分为3个部分:1.Windows环境下Lua的下载以及安装注意事项:2.Visual C++6.0中Lua的配置:3.C程序与Lua脚本相互调用实例. 1.Windows环境下Lua的下载以及安装注意事项 a.下载Lua for Windows,笔者用的版本是V5.1.4-35: b.上微软官网,下载Visual C++运行库——vcred
自定义Loader涉及到的接口: public delegate byte[] CustomLoader(ref string filePath); public void LuaEnv.AddLoader(CustomLoader loader); demo: using UnityEngine; using XLua; using System.IO; public class CreateLoader : MonoBehaviour { void Start() { LuaEnv env
lua是如何执行的 其中分析.执行部分都是c语言实现的. lua与c的关系 lua的虚拟机是用c语言实现的,换句话说一段lua指令最终在执行时都是当作c语言来执行的,lua的global表,函数调用栈也都是存在c语言中的一个叫lua_State的结构体中的. 举个例子,来看下lua中的加指令 OP_ADD a b c 是如何实现的: lua在运行时,会在c语言中的一个叫luaV_excute的函数中不断执行翻译后的lua指令,OP_ADD就是其中的一条指令(luaV_excute函数太长了,所以
Xlua:腾讯研发,开源免费 配置:文件解压,拷贝到Unity项目里 注意:Xlua文件夹不许移动,不许重命名 运行Xlua: 1.引用命名空间 2.创建虚拟机 3.运行lua语句 4.不需要时,释放虚拟机(LuaEnv:Lua的虚拟机) using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua;//1.引用Xlua的命名空间 public class HelloWo
自己最近也在研究怎么用lua控制UI,然后看着网上介绍,决定选用XLua,毕竟TX爸爸出的,有人维护,自己琢磨着怎么用,于是弄出来一个能用的作为记录. 当然,XLua主要是用于热更新,我自己是拿来尝试用一下看看怎么和C#交互进行的. 然后是XLua的下载地址:https://github.com/Tencent/xLua 下载完了之后,把Assect文件夹下的东西放在工程里面,引入命名空间XLua就可以使用了. using System.IO; //引入这个空间是为了输入路径用 using Un
下载XLua: https://github.com/tencent/xlua 项目中使用XLua只需将Plugins和XLua两个文件夹拷贝到U3D中即可XLua只是核心,用于实现Lua和C#交互,但是并没有提供便捷的"框架",我们在项目中使用XLua的话,需要自己实现框架部分,这样才能实现"从服务器端下载AB和Lua资源,完成客户端的热更新" C#调用Lua using XLua; //一个LuaEnv实例就是一个Lua虚拟机,建议全局唯一 LuaEnv l