一、Lua文件加载

1).Resources加载xluaTest文件

2).通过loader加载

 3).自定义Loader(相当于Resources加载和loader加载结合)

   先自定义Loader,再加载

二、C#访问Lua

1).获取一个全局基本数据类型

2).访问一个全局的table

 ①映射到普通class或struct

②映射到一个interface

 先建立一个接口(接口需引用"CSharpCallLua")(相当于一个类),再映射

 ③映射到Dictionary<>

 ④映射到List<>

 ⑤映射到LuaTable类

3).访问一个全局的function

①C#访问lua方法  无参

②C#访问lua方法  有参

Lua中AddFunc方法

先定义参数(引用"CSharpCallLua")(相当于一个类),再执行方法操作

输出结果:(在unity中)

Lua:15;

15;

三、C#调用Lua

Lua中AddFunc方法

C#调用lua方法 使用LuaFunction

输出结果为:(在unity中)

24;

-22

四、Lua调用C#

1).new C#对象

①   普通

        C#:           var newGameObj = new UnityEngine.GameObject();

Lua:  local newGameObj = CS.UnityEngine.GameObject()

含参构造

Lua:        local newGameObj2 = CS.UnityEngine.GameObject('helloworld')

2).访问C#中静态的属性  (调用用".")

Lua:        print(CS.UnityEngine.Time.deltaTime)

3).访问C#中静态的方法  (调用用".")

Lua:        local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')

4).访问C#中的成员方法  (调用用":")

Lua:       local cameraGo = CS.UnityEngine.GameObject.Find('Main Camera')

cameraGo:SetActive(false)

5).访问C#中的成员属性  (调用用".")

Lua:      local cameraCom = cameraGo:GetComponent("BoxCollider")

CS.UnityEngine.GameObject.Destroy(cameraCom)

XLua基础的更多相关文章

  1. XLua 基础

    一.Lua文件加载 1.Resources文件夹下加载  xxx.lua.txt  文件 1.)Resources加载xuaTest文件 // 1.Resources加载xuaTest文件 TextA ...

  2. XLua 网络加载(基础操作)

    LoadGameMethod  网上资源加载更新:加载场景中另建协程用来加载; public void LoadGameMethod() { StartCoroutine(start());      ...

  3. C++基础——模拟事务 (1)COMMAND模式

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  4. 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...

  5. xLua中导出Dotween

    前言 在xlua的lua脚本中使用dotween,官方的文档中有提到可以导出,但未介绍详细的步骤,相信比较多的朋友有需要,刚好项目中也在使用xlua和dotween,所以做个笔记. 基础知识: xLu ...

  6. xlua中lua对象到c#对象的转型

    lua中的类型 基础类型 #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUM ...

  7. 热更新解决方案--xlua学习笔记

    一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译 ...

  8. 深入xLua实现原理之Lua如何调用C#

    xLua是腾讯的一个开源项目,为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力.本文主要是探讨xLua下Lua调用C#的实现原理. Lua与C#数据通信机制 无论是Lua调用C# ...

  9. xLua自定义加载器

    xLua入门基础 环境配置 github下载xLua文件: xLua是腾讯开发,据说比较先进: 下载下来后将Plugins和XLua文件夹考进项目: Plugins多平台权限:XLua和C#交互: t ...

随机推荐

  1. 关于COOKIE在本地可以正常写入发布后不能写入浏览器的问题

    看了一下cookie的属性设置如下: HTTP Cookie       设置了secure ,   该cookie只能在HTTPS通道下被写入浏览器. HTTPS Cookie     设置了sec ...

  2. linux extglob模式 和rm反选

    前言 extglob模式开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便. 不然不识别! 正文 #开启命令: shopt -s extglob #关闭命令: shopt -u ...

  3. EntityFramework+EntityFramework.SqlServerCompact部署网站

    1,最好通过Nuget添加引用EntityFramework.SqlServerCompact,省得去手动填写配置文件. 2,部署后遇到如下的问题: 原因是打包后的Bin下面缺少System.Data ...

  4. buildah---github简单记录

    github里着重讲了buildah和podman的区别: buildah对标的是dockerfile的脚本化代替执行. podman对标的是docker命令的代替. gihub地址: https:/ ...

  5. 微信域名检测的C#实现

     背景:最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页.所以...就进入了微信域名解封的流程. 百度微信域名解封发现很多微信域名检测的网站,还有Api:但是本人做微信公 ...

  6. zookeeper(1)-简单介绍

    参考:  https://www.cnblogs.com/wuxl360/p/5817471.html   zookeeper集群搭建 zookeeper集群原理和搭建 zookeeper集群搭建3 ...

  7. pwn学习之二

    刚刚开始学习pwn,记录一下自己学习的过程. 今天get了第二道pwn题目的解答,做的题目是2017年TSCTF的easy fsb,通过这道题了解了一种漏洞和使用该漏洞获取shell的方法:即格式化字 ...

  8. ES6的 let const 以及块级作用域

    let声明变量 用法类似于var,但是所声明的变量只在let所在的代码块内有效. 1 . 在ES6环境下,let声明的变量不能在声明之前调用. 例: console.log(i); //会报错,这叫做 ...

  9. python3.X中try/except

    包含try...except...在3.x版本中与2.x版本中的用法差异. 1.先说差异: 在2.x的python中用法实例: try: ...... except Exception,e: rais ...

  10. c++/qt的数据序列化和反序列化

    序列化以及反序列化的实现 struct Body { double weight; double height; }; //结构体 struct People { int age; Body dBod ...