XLua基础
一、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基础的更多相关文章
- XLua 基础
一.Lua文件加载 1.Resources文件夹下加载 xxx.lua.txt 文件 1.)Resources加载xuaTest文件 // 1.Resources加载xuaTest文件 TextA ...
- XLua 网络加载(基础操作)
LoadGameMethod 网上资源加载更新:加载场景中另建协程用来加载; public void LoadGameMethod() { StartCoroutine(start()); ...
- C++基础——模拟事务 (1)COMMAND模式
=================================版权声明================================= 版权声明:原创文章 禁止转载 请通过右侧公告中的“联系邮 ...
- 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...
- xLua中导出Dotween
前言 在xlua的lua脚本中使用dotween,官方的文档中有提到可以导出,但未介绍详细的步骤,相信比较多的朋友有需要,刚好项目中也在使用xlua和dotween,所以做个笔记. 基础知识: xLu ...
- xlua中lua对象到c#对象的转型
lua中的类型 基础类型 #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUM ...
- 热更新解决方案--xlua学习笔记
一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译 ...
- 深入xLua实现原理之Lua如何调用C#
xLua是腾讯的一个开源项目,为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力.本文主要是探讨xLua下Lua调用C#的实现原理. Lua与C#数据通信机制 无论是Lua调用C# ...
- xLua自定义加载器
xLua入门基础 环境配置 github下载xLua文件: xLua是腾讯开发,据说比较先进: 下载下来后将Plugins和XLua文件夹考进项目: Plugins多平台权限:XLua和C#交互: t ...
随机推荐
- iView -- TimePicker 自定义修改时间选择器选择时间面板样式
iView官方组件展示效果: 期望的最终效果: 为什么要修改期望效果? 项目需要只选择小时,分钟跟秒的不需要,而官方并没有直接相关的小时组件或者是设置显示成小时或分钟或秒的时间选择器,因为自己直接修改 ...
- USB鼠标键盘数据格式以及按键键值
鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 -- |--bit7: 1 表示 Y 坐标的变化量超出-256 ...
- 漫画:一招学会TCP的三次握手和四次挥手
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...
- spring-cloud-feign负载均衡组件
Feign简介: Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便.它具有可插拔注释支持,包括Feign注解和JAX-RS注解.Feign还支持可插拔编码器 ...
- MySQL慢查询日志汇总
概念: MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lo ...
- 题解 P5315 【头像上传】
本题就是按照题目模拟, 只是要注意一些细节问题. 看代码注释 #include<bits/stdc++.h> using namespace std; int n,l,g,i; int m ...
- MySQL-连表查询联系
链接 1.将老师的姓名和所教课程罗列出来 SELECT teacher_id,tname,cname FROM course LEFT JOIN teacher ON course.`teacher_ ...
- WebDriver Selenium eclipse环境搭建
jdk环境 首先就是下载安装包,然后安装 然后设置环境变量,主要就是Path和CLASSPATH 由于我path已经有一个java值了,所以刚开始一直都失败 全部弄好,用cmd,java -versi ...
- cocos creator中粒子效果的使用
就如同上图的星星特效一样,在触碰时产生特效,但是并不销毁节点,因为要使用很多次,因此使用节点池NodePool保存起来的. 以下是使用粒子效果使要使用到的一些基本控制函数: 我的使用:
- UOJ#7. 【NOI2014】购票 点分治 斜率优化 凸包 二分
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ7.html 题解 这题是Unknown的弱化版. 如果这个问题出在序列上,那么显然可以CDQ分治 + 斜率 ...