一、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. C# this关键字的四种用法

    Go to below URL to find more details and example. http://blog.csdn.net/longlong821/article/details/7 ...

  2. uni-app版本在线更新问题(下载完成安装时一闪而过,安卓8以上版本)

    我使用的是uni-app插件市场https://ext.dcloud.net.cn/plugin?id=142 出现一闪而过时加入权限 <uses-permission android:name ...

  3. P2419 [USACO08JAN]牛大赛Cow Contest(dfs走天下/)

    题目描述 FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:).在赛场上,奶牛们按1..N依次编号.每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就 ...

  4. Restful 接口开发 完整版

    准备: springboot ssm框架 项目结构:注意 Swagger2Config要和springboot的启动类放在同一级 //pom所需的依赖 <dependency> <g ...

  5. kali linux 网络配置

    /etc/init.d/networking restart service newworking restart ifdown eth0 ifup eth0 ifconfig down eth0 i ...

  6. Dubbo序列化多个CopyOnWriteArrayList对象变成同一对象的一个大坑!!

    环境: win10 + jdk 1.8 + dubbo 2.5.10 问题描述: 当一个对象(此对象内包含多个CopyOnWriteArrayList对象) 作为参数调用RPC接口后, 服务提供者拿到 ...

  7. h5解决键盘谈起,输入框失去焦点

  8. react安装 项目构建

    1.nodejs安装 下载安装包,解压.如果是已编译文件,在/etc/profile中设置PATH(/etc/profile文件中的变量设置,所有用户可用,但需求重启服务器),并source /etc ...

  9. python常见排序算法解析

    python——常见排序算法解析   算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...

  10. 设计完美的策略模式,消除If-else

    策略模式是oop中最著名的设计模式之一,是对方法行为的抽象,可以归类为行为设计模式,也是oop中interface经典的应用.其特点简单又实用,是我最喜欢的模式之一.策略模式定义了一个拥有共同行为的算 ...